/**
 * Theme Name: caledoniapark.com
 * Description: caledoniapark.com theme
 * Author: Bewonder*
 * Template: blocksy
 * Text Domain: blocksy
 */

.acf-spinner {
    display: none;
    margin: 0 !important;
    position: fixed !important;
    width: 100vw !important;
    height: 100vh !important;
    left: 0 !important;
    top: 0 !important;
    z-index: 1000000 !important;
    background: #607d8bc7 url(data:image/svg+xml,%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20xmlns%3Axlink%3D%22http%3A//www.w3.org/1999/xlink%22%20x%3D%220px%22%20y%3D%220px%22%0A%20%20%20width%3D%2260px%22%20height%3D%2260px%22%20viewBox%3D%220%200%2040%2040%22%20enable-background%3D%22new%200%200%2040%2040%22%20xml%3Aspace%3D%22preserve%22%3E%0A%20%20%3Cpath%20opacity%3D%220.3%22%20fill%3D%22%23fff%22%20d%3D%22M20.201%2C5.169c-8.254%2C0-14.946%2C6.692-14.946%2C14.946c0%2C8.255%2C6.692%2C14.946%2C14.946%2C14.946%0A%20%20%20%20s14.946-6.691%2C14.946-14.946C35.146%2C11.861%2C28.455%2C5.169%2C20.201%2C5.169z%20M20.201%2C31.749c-6.425%2C0-11.634-5.208-11.634-11.634%0A%20%20%20%20c0-6.425%2C5.209-11.634%2C11.634-11.634c6.425%2C0%2C11.633%2C5.209%2C11.633%2C11.634C31.834%2C26.541%2C26.626%2C31.749%2C20.201%2C31.749z%22/%3E%0A%20%20%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M26.013%2C10.047l1.654-2.866c-2.198-1.272-4.743-2.012-7.466-2.012h0v3.312h0%0A%20%20%20%20C22.32%2C8.481%2C24.301%2C9.057%2C26.013%2C10.047z%22%3E%0A%20%20%20%20%3CanimateTransform%20attributeType%3D%22xml%22%0A%20%20%20%20%20%20attributeName%3D%22transform%22%0A%20%20%20%20%20%20type%3D%22rotate%22%0A%20%20%20%20%20%20from%3D%220%2020%2020%22%0A%20%20%20%20%20%20to%3D%22360%2020%2020%22%0A%20%20%20%20%20%20dur%3D%220.5s%22%0A%20%20%20%20%20%20repeatCount%3D%22indefinite%22/%3E%0A%20%20%20%20%3C/path%3E%0A%20%20%3C/svg%3E) no-repeat center !important;
}

p[data-block-type="core"] {
    margin: 0;
}


@media (min-width: 1000px) {
    #menu-main-menu {
        position: relative;
        top: 1px;
    }

    .site-branding a {
        position: fixed;
        top: calc(160px);
        left: -1px;
        transform-origin: left bottom;
        /*         pointer-events: none; */
        /* background: none !important; */
    }

    #header[data-id="type-1"] .site-branding a {
        background: black;
        border: 0px solid black;
        pointer-events: unset;
        max-height: calc(5vw * (163/69));
        max-width: 5vw;
    }

    #header[data-id="type-1"] .site-branding a:hover {
        /* border-left: 10px solid black; */
        padding-left: 10px;
    }

    body.admin-bar .site-branding a {
        top: calc(160px + var(--admin-bar));
    }

    .site-branding a img {
        max-width: 5vw;
        object-position: top;
    }

    #header[data-id="type-1"] .site-branding a img {
        scale: 1;
        transition: 0.05s;
    }

    #header[data-id="type-1"] .site-branding a:active img {
        scale: 0.95;
    }

    #header div[data-id="widget-area-1"],
    #header div[data-id="widget-area-1"] div {
        margin: 0;
        transition: 0s;
    }

    /* front page header */
    :root {
        --transparent-header-duration: 0.7s;
        --transparent-header-transition: all var(--transparent-header-duration) 0.25s;
        --left-position: calc(((100vw - (200vw - 200%)) - var(--theme-container-width)) / 2);
    }

    @media screen and (min-width: 1260px) {
        :root {
            --left-position: calc(((100vw - (200vw - 200%)) - var(--theme-normal-container-max-width)) / 2);
        }
    }


    #header[data-id="dt2InS"] div[data-id="widget-area-1"] {
        transition: var(--transparent-header-transition);
        opacity: 1;
    }

    #header[data-id="dt2InS"] div[data-transparent-row="yes"] div[data-id="widget-area-1"] {
        opacity: 0;
    }
	
	#header[data-id="dt2InS"] .opening-hours-container {
        transition: var(--transparent-header-transition);
        opacity: 1;
    }
	
	#header[data-id="dt2InS"] div[data-transparent-row="yes"] .opening-hours-container {
        opacity: 0;
		pointer-events: none;
    }

    #header[data-id="dt2InS"] a {
        transition: color var(--transparent-header-duration);
    }

    #header[data-id="dt2InS"] .ct-icon,
    #header[data-id="dt2InS"] .ct-icon-container svg {
        transition: var(--transparent-header-transition);
    }

    #header[data-id="dt2InS"]:has([data-transparent-row="yes"]) .site-branding a {
        left: calc(var(--left-position) - 2.5px);
        transition: var(--transparent-header-transition);
        top: calc(80px);
    }

    body.admin-bar #header[data-id="dt2InS"]:has([data-transparent-row="yes"]) .site-branding a {
        top: calc(80px + var(--admin-bar));
    }

    #header[data-id="dt2InS"] [data-transparent-row="no"] .site-branding:before {
        transform: translateX(-100%);
        border-right: 5px solid var(--theme-palette-color-4);
    }

    #header[data-id="dt2InS"]:has([data-transparent-row="no"]) .site-branding a {
        filter: invert(1);
        left: -5px;
        top: calc(160px);
    }

    body.admin-bar #header[data-id="dt2InS"]:has([data-transparent-row="no"]) .site-branding a {
        top: calc(160px + var(--admin-bar));
    }

    [data-header*="dt2InS"] .ct-header [data-row*="top"] {
        height: 0 !important;
    }

    #header[data-id="dt2InS"] .ct-sticky-container {
        position: fixed;
        width: 100vw;
    }

    body.ct-loading #header[data-id="dt2InS"]:has([data-transparent-row="yes"]) .site-branding a {
        left: -100px !important;
    }

    body.ct-loading .hero-line.stk-block-columns>div:before {
        right: calc(100% + 100px) !important;
    }

    [data-header*="dt2InS"] [data-row*="middle"],
    body:not(.ct-loading) [data-header*="dt2InS"] [data-sticky]>[data-row] {
        transition: var(--transparent-header-transition) !important;
    }

    [data-sticky*=fade] {
        opacity: 1 !important;
        transition: var(--transparent-header-transition) !important;
    }

    .hero-line.stk-block-columns>div {
        position: relative;
    }

    .hero-line.stk-block-columns>div:before {
        content: " ";
        background: rgb(0 0 0 / 50%);
        position: absolute;
        top: 0;
        height: 100%;
        min-width: calc((100vw - var(--theme-container-width)) / 2);
        border-right: 5px solid var(--theme-palette-color-8);
        transition: var(--transparent-header-transition);
        transform: translateX(0);
        z-index: 2;
        width: 100vw;
        left: unset;
        right: calc(((100vw - var(--theme-container-width)) / 2) + var(--theme-container-width));
    }

    @media screen and (min-width: 1260px) {
        .hero-line.stk-block-columns>div:before {
            right: calc(((100vw - var(--theme-normal-container-max-width)) / 2) + var(--theme-normal-container-max-width));
        }
    }

    #header[data-id="dt2InS"]:has([data-transparent-row="no"])+main .hero-line.stk-block-columns>div:before {
        border-color: var(--theme-palette-color-4);
        right: calc(100vw - (100vw - 100%));
    }
}


/* Hero Slider */
.hero .swiper-slide .stk-video-background {
    z-index: -1 !important;
}

.hero .swiper-navigation-wrapper .swiper-pagination {
    position: absolute;
    bottom: 80px;
    right: calc(((100vw - var(--theme-container-width)) / 2) - 35px);
    left: unset;
    width: auto;
}

@media screen and (min-width: 1260px) {
    .hero .swiper-navigation-wrapper .swiper-pagination {
        right: calc(((100vw - var(--theme-normal-container-max-width)) / 2) - 35px);
    }
}

.hero .swiper-pagination-clickable .swiper-pagination-bullet {
    background: none;
    opacity: 1;
    position: relative;
    height: 40px;
    width: 40px;
    padding: 15px 0;
    transform: translateY(15px);
    border-radius: 0;
    transition: 0.7s;
}

.hero .swiper-pagination-clickable .swiper-pagination-bullet .bullet {
    background-color: white;
    height: 10px;
    width: 10px;
    display: block;
    border-radius: 100%;
    position: absolute;
    left: 20px;
    transform: translateX(-50%);
    transition: 0.7s;
}

.hero .swiper-pagination-clickable .swiper-pagination-bullet .bullet:before,
.hero .swiper-pagination-clickable .swiper-pagination-bullet .bullet:after {
    content: " ";
    position: absolute;
    top: 50%;
    left: 50%;
    transition: 0.7s;
    height: 1px;
    width: 1px;
}

.hero .swiper-pagination-clickable .swiper-pagination-bullet .bullet:before {
    transform: translate(-50%, -50%);
    border: 1px solid white;
    border-radius: 100%;
}

.hero .swiper-pagination-clickable .swiper-pagination-bullet:not(.swiper-pagination-bullet-active):hover .bullet:before {
    height: 20px;
    width: 20px;
    transition: 0.2s;
}

.hero .swiper-pagination-clickable .swiper-pagination-bullet .bullet:after {
    transform: translateY(-50%);
    background-color: white;
}

.hero .swiper-pagination-clickable .swiper-pagination-bullet .number {
    color: white;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    font-size: 18px;
    opacity: 0;
    transition: 0.7s;
}

.hero .swiper-pagination-clickable .swiper-pagination-bullet-active {
    width: 130px;
}

.hero .swiper-pagination-clickable .swiper-pagination-bullet-active .bullet:before {
    height: 40px;
    width: 40px;
}

.hero .swiper-pagination-clickable .swiper-pagination-bullet-active .bullet:after {
    width: 70px;
}

.hero .swiper-pagination-clickable .swiper-pagination-bullet-active .number {
    opacity: 1;
    right: 15px;
}

.hero .swiper .videoControl {
    bottom: 92px;
    transform: translate(50%, 50%);
    height: 35px;
    width: 35px;
    border: 1px solid;
    border-radius: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: 0.1s;
}

.hero .swiper .videoControl.pause {
    right: calc(((100vw - var(--theme-normal-container-max-width)) / 4));
}

.hero .swiper .videoControl svg {
    height: 20px;
}

.hero .swiper .videoControl svg.play {
    padding-left: 2px;
}

.hero .swiper .videoControl:hover:not(:active) {
    height: 40px;
    width: 40px;
}

@media screen and (max-width: 1359px) {
    .hero .swiper .videoControl.pause {
        right: calc(((100vw - var(--theme-normal-container-max-width)) / 2));
        bottom: 52px;
        transform: translate(calc(50% - 5px), calc(50% - -5px));
    }
}

@media screen and (max-width: 1359px) {
    .hero .swiper .videoControl.pause {
        right: calc(((100vw - var(--theme-container-width)) / 2));
    }
}

.hero {
    height: clamp(720px, 50vw, 1080px);
}

.hero .wp-block-stackable-columns,
.hero .wp-block-stackable-columns>div {
    height: 100%;
}

@media screen and (min-width: 690px) {
    .videoControl~.videoControl {
        display: none !important;
    }
}

@media screen and (max-width: 689px) {
    .videoControl:has(~ .videoControl) {
        display: none !important;
    }
}



/* Hover invert effect on buttons */
.acf-form-submit {
    display: inline-block;
}

.acf-form-submit,
div.hover-invert {
    position: relative;
    overflow: hidden;
}

.acf-form-submit a,
div.hover-invert a {
    display: block !important;
}

.acf-form-submit:after,
div.hover-invert:after {
    content: " " !important;
    display: block !important;
    background: white;
    height: 100% !important;
    width: 0% !important;
    position: absolute;
    inset: 0;
    z-index: -1;
    transition: 0.2s !important;
}

.acf-form-submit:hover:after,
div.hover-invert:hover:after {
    width: 100% !important;
}

.acf-form-submit:before {
    z-index: 2;
    pointer-events: none;
}

.acf-form-submit:before,
div.hover-invert a.stk-button:after,
div.hover-invert a:after {
    content: " ";
    background: white;
    opacity: 1 !important;
    mix-blend-mode: exclusion;
    width: 0% !important;
    transition: 0.2s !important;
    position: absolute;
    inset: 0;
}

.acf-form-submit:hover:before,
div.hover-invert a.stk-button:hover:after,
div.hover-invert:hover a:after {
    background: white !important;
    width: 100% !important;
}

.button.box,
.button.box:hover {
    border: 1px solid black;
    border-radius: 0px;
    background: none;
    font-size: 14px;
    font-weight: 700;
    padding: 16px 35px 14px;
    z-index: 1;
    color: black;
}

.button p {
    margin-bottom: 0;
}

:root {
    --side-margin: calc((100vw - var(--theme-container-width)) / 2) !important;
}

@media screen and (min-width: 1260px) {
    :root {
        --side-margin: calc((100vw - var(--stk-block-default-width, var(--stk-block-width-default-detected))) / 2) !important;
    }
}

.button.arrow,
.button.arrow:hover {
    background: none;
    border-radius: 0;
    padding: 0;
}

.arrow a {
    display: flex;
    align-items: center;
    font-size: 12px;
}

.arrow p {
    position: relative;
}

.arrow p:before,
.arrow p:after {
    content: " ";
    position: absolute;
    bottom: 0;
    left: 0;
    height: 2px;
    background: black;
    width: 0%;
    transition: 0.2s 0.05s;
}

.arrow p:before {
    width: 100%;
    height: 1px;
}

.arrow:hover p:after {
    transition: 0.2s 0s;
    width: 100%;
}

.arrow .icon {
    height: 25px;
    width: 25px;
    border: 1px solid black;
    border-radius: 100%;
    margin-left: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 1;
}

.arrow .icon svg {
    height: 12px;
    padding-left: 1px;
}

.arrow .icon:before,
.arrow .icon:after {
    content: " ";
    background-color: white;
    position: absolute;
    width: 0;
    height: 0;
    left: 0;
    border-radius: 100%;
    z-index: -1;
    transition: 0.1s 0s;
}

.arrow .icon:before {
    z-index: 2;
    mix-blend-mode: exclusion;
}

.arrow:hover .icon:before,
.arrow:hover .icon:after {
    transition: 0.1s 0.15s;
    width: 100%;
    height: 100%;
}


/* ACF */
div.acf-fields>.acf-field {
    padding: 0 0 50px;
    border: none;
}



/* Header open times */
#offcanvas table.open_times tr td:first-child,
#offcanvas table.open_times tr td span,
#header table.open_times tr td:first-child,
#header table.open_times tr td span,
#footer table.open_times tr td:first-child,
#footer table.open_times tr td span {
    display: none;
}

#offcanvas table.open_times td,
#offcanvas table.open_times tr,
#header table.open_times td,
#header table.open_times tr,
#footer table.open_times td,
#footer table.open_times tr {
    height: auto;
    border: none;
    font-style: inherit;
    display: inline-block;
}

#offcanvas p:has(+.open_times),
#header p:has(+.open_times),
#footer p:has(+.open_times) {
    display: none;
}

#footer table.open_times tr {
    color: white;
}


/* Hero side colour */
@media screen and (min-width: 1000px) {

    .stk-block.hero-side-light:after,
    .stk-block.hero-side-dark:after {
        content: " " !important;
    }
}

.stk-block.hero-side-light:after,
.stk-block.hero-side-dark:after {
    background: rgb(255 255 255 / 65%);
    inset: 0;
    width: var(--side-margin);
    position: absolute;
    border-right: 5px solid white;
}

.stk-block.hero-side-dark:after {
    background: rgb(0 0 0 / 35%);
}

div.hero-section[data-type=type-2]>[class*=ct-container] {
    padding-left: 80px;
}

div.hero-section[data-type=type-2]>[class*=ct-container]:after {
    content: " " !important;
    background: rgb(0 0 0 / 35%);
    inset: 0;
    width: var(--side-margin);
    position: absolute;
    border-right: 5px solid white;
    transform: translateX(-100%);
}


/* Go Back link */
.is-style-plain:not(.no-animation) a .stk-button__inner-text {
    position: relative;
}

.is-style-plain:not(.no-animation) a .stk-button__inner-text::before,
.is-style-plain:not(.no-animation) a .stk-button__inner-text::after {
    width: 100%;
    height: 1px;
    background: var(--theme-palette-color-4);
    transition: 0.2s 0.05s;
    inset: auto auto 0 0;
    content: " ";
    position: absolute;
    bottom: -2px;
}

.is-style-plain.back-button a .stk-button__inner-text::after {
    inset: auto 0 0 auto
}

.is-style-plain.white:not(.no-animation) a .stk-button__inner-text::before,
.is-style-plain.white:not(.no-animation) a .stk-button__inner-text::after {
    background: var(--theme-palette-color-8);
}

.is-style-plain:not(.no-animation) a .stk-button__inner-text::after {
    width: 0%;
    height: 2px;
}

.is-style-plain:not(.no-animation).back-button a .stk-button__inner-text::before,
.is-style-plain:not(.no-animation).back-button a .stk-button__inner-text::after {
    height: 0px;
}

.is-style-plain:not(.no-animation).back-button a .stk-button__inner-text::after {
    height: 1px;
}

.is-style-plain:not(.no-animation) a:hover .stk-button__inner-text::after {
    width: 100%;
    transition: 0.2s 0s;
}

.is-style-plain:not(.no-animation, .back-button) a span.stk--svg-wrapper {
    height: 25px;
    width: 25px;
    display: flex;
    align-items: center;
    border-radius: 100%;
    border: 1px solid;
    justify-content: center;
    position: relative;
    /* overflow: hidden; */
}

.is-style-plain.white:not(.no-animation, .back-button) a span.stk--svg-wrapper {
    color: white;
}

.is-style-plain:not(.no-animation, .back-button) a span.stk--svg-wrapper:after,
.is-style-plain:not(.no-animation, .back-button) a span.stk--svg-wrapper:before {
    content: " ";
    position: absolute;
    height: 0%;
    width: 0%;
    left: 0;
    transition: 0.1s 0s;
    mix-blend-mode: exclusion;
    z-index: 1;
    background-color: white;
    border-radius: 100%;
}

.is-style-plain.white:not(.no-animation, .back-button) a span.stk--svg-wrapper:before {
    background-color: black;
    mix-blend-mode: normal;
}

.is-style-plain:not(.no-animation, .back-button) a:hover span.stk--svg-wrapper:after,
.is-style-plain:not(.no-animation, .back-button) a:hover span.stk--svg-wrapper:before {
    transition: 0.1s 0.15s;
    width: 100%;
    width: calc(100% + 2px);
    height: calc(100% + 2px);
    transform: translate(-1px, 0px);
}

.stk-block-button.is-style-plain:not(.no-animation) a.stk-button .stk--svg-wrapper:not(:only-child):last-child .stk--inner-svg svg:last-child {
    margin-inline-start: 1px;
}

.is-style-plain.left-align a {
    justify-content: flex-start !important;
}

.is-style-plain.no-animation a span {
    transition: 0s !important;
}

.is-style-plain.no-animation a:hover span {
    font-weight: 600;
}

.is-style-plain.no-animation a {
    position: relative;
}

.is-style-plain.no-animation a::after {
    height: 2px !important;
    inset: auto auto -1px 0 !important;
    width: 0% !important;
    background: black !important;
}

.is-style-plain.no-animation a:hover::after {
    background: black !important;
    width: 100% !important;
}

.is-style-plain.no-animation.white a::after,
.is-style-plain.no-animation.white a:hover::after {
    background: white !important;
}



/* Brand Individual Opening Times */
table.open_times {
    border: 0;
}

table.open_times tr {
    border-bottom: 1px solid;
}

table.open_times:not(.special_open_times) tr:first-child {
    font-weight: 600;
}

table.open_times td {
    border: 0;
    padding: 0;
    height: 50px;
}

table.open_times td:last-child {
    text-align: right;
}

table.open_times td:last-child span,
table.open_times td:has(span),
table.special_open_times.open_times td span {
    font-size: 9px;
}

table.open_times td:last-child:has(span),
table.open_times td span,
table.special_open_times td:has(span) {
    font-size: 14px;
    display: flex;
    flex-flow: column-reverse;
    justify-content: center;
}

span.usually {
    opacity: 0.7;
    display: none !important;
}

table.open_times td span {
    display: block;
}

table.open_times td:last-child span:before {
    content: "Usually: ";
}

table.open_times tr.special,
table.special_open_times tr {
    /*font-style: italic;*/
}

h3:has(+ .special_open_times) {
    display: none;
}

div:has(> .special_open_times td) h3:has(+ .special_open_times) {
    display: initial;
    margin: 50px 0 24px;
}


/* body.single-brands h1.stk-block-heading__text {
    text-transform: capitalize;
} */

/* Brand Socials */
.brand-social-cntr .stk-inner-blocks {
    row-gap: 0px !important;
}

.brand-social-cntr .stk-button-group {
    flex-direction: column !important;
    align-items: stretch !important;
}

.brand-social-cntr .stk-block {
    flex-basis: auto !important;
}

.brand-social-cntr .stk-block-button,
.brand-social-cntr .stk-block-icon-button {
    flex: 1 !important;
}

.brand-social-cntr,
.brand-social-cntr .stk-block-icon-button .stk-button {
    width: 100% !important;
}

.brand-social {
    margin-bottom: 0px !important;
    flex: 1 1 0 !important
}

.brand-social,
.brand-social .stk-button {
    width: 100% !important
}

.brand-social .stk-button {
    min-height: 50px !important;
    padding-top: 0px !important;
    padding-right: 0px !important;
    padding-bottom: 0px !important;
    padding-left: 0px !important;
    background: transparent !important;
    border-radius: 0px !important
}

.brand-social .stk-button:hover:after {
    background: transparent !important;
    opacity: 1 !important
}

:where(.stk-hover-parent:hover, .stk-hover-parent.stk--is-hovered) .brand-social .stk-button:after {
    background: transparent !important;
    opacity: 1 !important
}

.brand-social .stk-button:before {
    border-style: solid !important;
    border-top-width: 0px !important;
    border-right-width: 0px !important;
    border-left-width: 0px !important
}

.brand-social .stk-button .stk--inner-svg svg:last-child {
    height: 23px !important;
    width: 23px !important
}

.brand-social .stk-button .stk--inner-svg svg:last-child,
.brand-social .stk-button .stk--inner-svg svg:last-child :is(g, path, rect, polygon, ellipse) {
    fill: var(--theme-palette-color-4) !important
}

.brand-social .stk-button__inner-text {
    color: var(--theme-palette-color-4) !important
}

.brand-social img {
    height: 23px;
    width: 23px;
    margin-right: 10px;
}


/* Brand Facilities */
.brand-facilities-cntr {
    display: flex;
    flex-flow: row wrap;
}

.brand-facilities-cntr+p {
    margin: 0;
}

.brand-facilities-cntr div {
    padding: 0 40px;
    background-color: var(--theme-palette-color-6);
    height: 60px;
    display: flex;
    align-items: center;
    margin-right: 20px;
    margin-bottom: 20px;
}

.brand-facilities-cntr .icon {
    height: 20px;
    width: 20px;
    background-size: contain;
    margin-right: 10px;
    background-repeat: no-repeat;
}

.click-collect .icon,
.dog-friendly .icon,
.card-only .icon,
.shop-handsfree .icon {
    background-image: url("https://caledoniapark.com/wp-content/themes/caledoniapark.com/assets/shop-handsfree-icon.svg");
}

.click-collect .icon {
    background-image: url("https://caledoniapark.com/wp-content/themes/caledoniapark.com/assets/click-and-collect-icon.svg");
}

.dog-friendly .icon {
    background-image: url("https://caledoniapark.com/wp-content/themes/caledoniapark.com/assets/dog-friendly-icon.svg");
}

.card-only .icon {
    background-image: url("https://caledoniapark.com/wp-content/themes/caledoniapark.com/assets/cards-only-icon.svg");
}

.rewards .icon {
    background-image: url("https://caledoniapark.com/wp-content/themes/caledoniapark.com/assets/star-icon.svg");
}

.blue-light-discount .icon {
    background-image: url("https://caledoniapark.com/wp-content/uploads/2024/07/Blue-Light.svg");
}

.shop-via-whatsapp .icon {
    background-image: url("https://caledoniapark.com/wp-content/uploads/2024/07/WhatsApp.png");
}

.buy-now-pay-later .icon {
    background-image: url("https://caledoniapark.com/wp-content/uploads/2024/07/payment.png");
}

.bra-fitting .icon {
    background-image: url("https://caledoniapark.com/wp-content/uploads/2025/03/B3600_CALP_CK_Bra_Fitting_Icon_V1.svg");
}


/* Brand Cards */
div[data-archive=default][data-cards=simple] {
    overflow: visible;
}

div[data-archive=default][data-cards=simple] .entry-card {
    border-bottom: none;
}

.open_times.today {
    font-size: 10px;
}

.entry-header .page-description {
    max-width: 475px;
}


/* Brands Categories */
.dropdown:hover button.dropbtn,
button.dropbtn {
    background-color: var(--theme-palette-color-8);
    color: var(--theme-palette-color-4);
    border: 1px solid var(--theme-palette-color-4);
    height: 45px;
    display: flex;
    align-items: center;
    font-size: 12px;
    font-family: 'termina';
    justify-content: space-between;
}

.dropdown .dropdown-content {
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
    background-color: var(--theme-palette-color-8);
}

.dropdown .dropdown-content a {
    border: 1px solid var(--theme-palette-color-6);
}

.dropdown .dropdown-content a:hover {
    background-color: var(--theme-palette-color-6);
}

@media only screen and (min-width: 1000px) {
    .search-dropdown--container {
        width: calc((100% - (20px * 3)) / 4);
        margin-left: auto;
    }

    .search-dropdown--container:has(.dropdown) {
        width: calc((100% - (20px * 1)) / 2);
    }
}

.a-z-filter--container {
    display: none;
}

.search-dropdown--container input#liveSearch {
    height: 45px;
    font-size: 12px;
}


.single-brands .swiper-slide:first-child:last-child {
    max-width: 50%;
}


/* Line after */
.line-before,
.line-after {
    position: relative;
}

.line-before:after,
.line-after:after {
    content: " " !important;
    background: black;
    position: absolute;
    inset: auto auto 0 0;
    width: 1px;
}

.single .line-before:after,
.single .line-after:after {
    transform: translateY(100%);
}

.line-before:after {
    inset: 0 auto auto 0;
    transform: translateY(-100%);
}

.line-10:after,
.line-10:before {
    height: 10px;
}

.line-20:after,
.line-20:before {
    height: 20px;
}

.line-25:after,
.line-25:before {
    height: 25px;
}

.line-30:after,
.line-30:before {
    height: 30px;
}

.line-50:after,
.line-50:before {
    height: 50px;
}

.line-75:after,
.line-75:before {
    height: 75px;
}

.line-100:after,
.line-100:before {
    height: 100px;
}

.line-150:after,
.line-150:before {
    height: 150px;
}

.line-200:after,
.line-200:before {
    height: 200px;
}

.line-250:after,
.line-250:before {
    height: 250px;
}

.line-300:after,
.line-300:before {
    height: 300px;
}

.line-400:after,
.line-400:before {
    height: 400px;
}

.line-500:after,
.line-500:before {
    height: 500px;
}



/* Instagram Feed */
#sb_instagram.sbi_fixed_height {
    overflow: hidden;
    height: auto !important;
}

#sb_instagram .sbi_photo {
    height: 310px !important;
    overflow: hidden;
}

#sb_instagram #sbi_images {
    padding: 0 !important;
    display: flex;
    justify-content: space-between;
    gap: 20px !important;
}

#sb_instagram #sbi_images .sbi_item {
    aspect-ratio: 4/5;
}

@media screen and (max-width: 999px) and (min-width: 690px) {
    #sb_instagram #sbi_images {
        flex-flow: row wrap;
        /* column-gap: 0px !important; */
    }

    #sb_instagram.sbi_tab_col_2 #sbi_images .sbi_item {
        width: calc((100% - 40px) / 3);
    }

    #sb_instagram.sbi_tab_col_2 #sbi_images .sbi_item:nth-child(4) {
        display: none;
    }
}

@media screen and (max-width: 689px) {
    #sb_instagram #sbi_images {
        flex-flow: row wrap;
        /* column-gap: 0px !important; */
    }

    #sb_instagram.sbi_tab_col_2 #sbi_images .sbi_item {
        width: calc(50% - 10px);
    }
}




/* Offer Cards */
.offer-card p {
    margin: 0;
}

.offer-card h4.associated-brand {
    font-size: 12px;
    margin: 0 0 0px;
}

.offer-card h4.associated-brand span:not(:first-of-type):before,
body.single-offers a.associated-brand:not(:first-of-type):before {
    content: ", ";
    padding-right: 5px;
    display: inline-block;
}

.offer-card .wp-block-stackable-button-group:last-child .stk-button {
    transition: background-color 0.2s, padding 0.4s !important;
}

.hover-card *:has(>.stk--has-background-overlay) {
    overflow: hidden;
}

.hover-card .stk--has-background-overlay {
    transition: 0.2s !important;
    scale: 1;
}

.hover-card:hover .stk--has-background-overlay {
    scale: 1.05;
}

.offer-card.hover-card:hover .wp-block-stackable-button-group:last-child .stk-button {
    padding: 13px 13px 17px 17px !important;
    background-color: black !important;
}

.offer-card.hover-card:hover .wp-block-stackable-button-group:last-child .stk-button::before {
    border-color: black !important;
}

.offer-card.hover-card:hover .wp-block-stackable-button-group:last-child .stk-button svg {
    fill: white;
}

.hover-card:hover .is-style-plain:not(.no-animation) a .stk-button__inner-text::after {
    width: 100%;
    transition: 0.2s 0s;
}

.hover-card:hover .is-style-plain:not(.no-animation, .back-button) a span.stk--svg-wrapper:after,
.hover-card:hover .is-style-plain:not(.no-animation, .back-button) a span.stk--svg-wrapper:before {
    transition: 0.1s 0.15s;
    width: 100%;
    width: calc(100% + 2px);
    height: calc(100% + 2px);
    transform: translate(-1px, 0px);
}

.entries article>.stk-block {
    margin-bottom: 50px;
}


/* Offer Single */
.associated-brand {
    font-weight: 500;
    margin-bottom: 10px;
    display: inline-block;
}

.associated-brand:hover {
    opacity: 0.5;
}

.block-style-1 {
    display: flex;
    gap: 20px;
    /* aspect-ratio: 2/1; */
    max-width: 100%;
    margin-bottom: 100px;
    justify-content: center;
}

.block-style-1>* {
    min-height: 100%;
    width: 0;
    flex: 1 1 100px;
    object-fit: cover;
    background-color: var(--theme-palette-color-6);
    max-width: 750px;
}

.block-style-1:nth-child(even) {
    flex-flow: row-reverse;
}

.block-style-1>div {
    padding: 50px;
}

.block-style-1>div:empty {
    display: none;
}

.block-style-1>div:empty~img {
    aspect-ratio: 16/9;
}



/* What's On Archive */
div.entries {
    margin-top: 25px;
}

div.entries .entry-card.whats_on {
    margin-bottom: 0px;
    position: relative;
}

div.entries .entry-card.whats_on .cover-link {
    position: absolute;
    inset: 0;
}

div.entries .entry-card.whats_on a.ct-image-container {
    margin-bottom: 10px;
}

div.entries .entry-card.whats_on a.ct-image-container img {
    transition: 0.2s;
}

div.entries .entry-card.whats_on:hover a.ct-image-container img {
    scale: 1.1;
}

div.entries .entry-card.whats_on .entry-excerpt {
    margin-bottom: 0;
}

div.entries .entry-card.whats_on ul.entry-meta {
    margin-top: 10px;
}

div.entries .entry-card.whats_on ul.entry-meta:has(.meta-categories) {
    position: absolute;
    top: 15px;
    left: 15px;
    margin: 0;
}

div.entries .entry-card.whats_on li.meta-categories {
    display: flex;
    flex-flow: row wrap;
    gap: 10px;
}

div.entries .entry-card.whats_on .entry-meta [data-type=pill] a,
div.entries .entry-card.whats_on .entry-meta [data-type=underline] a {
    margin: 0;
    padding: 10px 16px;
    border-radius: 5px;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.15);
    opacity: 0.7;
}

div.entries .entry-card.whats_on .entry-meta [data-type=pill] a:hover,
div.entries .entry-card.whats_on .entry-meta [data-type=underline] a:hover {
    opacity: 1;
}

div.entries .entry-card.whats_on:hover .is-style-plain:not(.no-animation) a .stk-button__inner-text::after {
    width: 100%;
    transition: 0.2s 0s;
}

div.entries .entry-card.whats_on:hover .is-style-plain:not(.no-animation, .back-button) a span.stk--svg-wrapper:after,
div.entries .entry-card.whats_on:hover .is-style-plain:not(.no-animation, .back-button) a span.stk--svg-wrapper:before {
    transition: 0.1s 0.15s;
    width: 100%;
    width: calc(100% + 2px);
    height: calc(100% + 2px);
    transform: translate(-1px, 0px);
}


/* What's On Archive */
.single-whats_on .stk-block.hero-side-light:after,
.single-whats_on .stk-block.hero-side-dark:after {
    background-color: var(--theme-palette-color-3);
}

.whats-on-categories {
    display: flex;
    padding: 15px 0;
    border-top: 1px solid black;
    flex-flow: row wrap;
}

.whats-on-categories a:not(:last-of-type):after {
    content: ",";
    padding-right: 7px;
}

.whats-on-categories a {
    position: relative;
}

.whats-on-categories+p {
    margin: 0;
}

.whats-on-categories a:before {
    content: " ";
    inset: auto auto 0 0;
    position: absolute;
    width: 0%;
    height: 1px;
    transition: 0.2s;
    background-color: black;
}

.whats-on-categories a:hover:before {
    width: calc(100% - 10px);
}

.whats-on-categories a:last-of-type:hover:before {
    width: 100%;
}



/* Custom Menus (Getting Here & Discover Caledonia) */
.custom-menu .stk-column {
    overflow: visible !important;
}

.custom-menu .stk-column:after {
    content: " " !important;
    background: rgba(0, 0, 0, 1);
    position: absolute;
    inset: auto auto -2px 0;
    width: 0%;
    height: 2px;
    transition: 0.1s;
}

.custom-menu .stk-column:hover:after {
    width: 100%;
}

.custom-menu .stk-column p {
    transition: 0s;
}

.custom-menu .stk-column:hover p {
    font-weight: bold;
}

.highlight-today .open_times:not(.special_open_times) tr:first-child {
    position: relative;
}

.highlight-today .open_times:not(.special_open_times) tr:first-child:after {
    position: absolute;
    content: " ";
    inset: 5px -20px;
    background: var(--theme-palette-color-2);
    border-radius: 100px;
    z-index: -1;
    max-height: 50px;
}

.highlight-today .open_times td {
    height: 60px;
}


*:has(>.columns) {
    display: flex;
    flex-wrap: wrap;
}

.d-hide {
    display: none;
}

.d-all {
    min-width: 100% !important;
}

.d-1of2 {
    min-width: calc((100% - (25px * 1)) / 2) !important;
}

.d-1of3 {
    min-width: calc((100% - (25px * 2)) / 3) !important;
}

.d-1of4 {
    min-width: calc((100% - (25px * 3)) / 4) !important;
}

.d-1of5 {
    min-width: calc((100% - (25px * 4)) / 5) !important;
}

.d-1of6 {
    min-width: calc((100% - (25px * 5)) / 6) !important;
}

.d-1of7 {
    min-width: calc((100% - (25px * 6)) / 7) !important;
}

.d-1of8 {
    min-width: calc((100% - (25px * 7)) / 8) !important;
}

.d-1of9 {
    min-width: calc((100% - (25px * 8)) / 9) !important;
}

.d-1of10 {
    min-width: calc((100% - (25px * 9)) / 10) !important;
}

@media screen and (max-width: 1000px) {
    .t-hide {
        display: none;
    }

    .t-all {
        min-width: 100% !important;
    }

    .t-1of2 {
        min-width: calc((100% - (25px * 1)) / 2) !important;
    }

    .t-1of3 {
        min-width: calc((100% - (25px * 2)) / 3) !important;
    }

    .t-1of4 {
        min-width: calc((100% - (25px * 3)) / 4) !important;
    }

    .t-1of5 {
        min-width: calc((100% - (25px * 4)) / 5) !important;
    }

    .t-1of6 {
        min-width: calc((100% - (25px * 5)) / 6) !important;
    }

    .t-1of7 {
        min-width: calc((100% - (25px * 6)) / 7) !important;
    }

    .t-1of8 {
        min-width: calc((100% - (25px * 7)) / 8) !important;
    }

    .t-1of9 {
        min-width: calc((100% - (25px * 8)) / 9) !important;
    }

    .t-1of10 {
        min-width: calc((100% - (25px * 9)) / 10) !important;
    }
}

@media screen and (max-width: 690px) {
    .m-hide {
        display: none;
    }

    .m-all {
        min-width: 100% !important;
    }

    .m-1of2 {
        min-width: calc((100% - (25px * 1)) / 2) !important;
    }

    .m-1of3 {
        min-width: calc((100% - (25px * 2)) / 3) !important;
    }

    .m-1of4 {
        min-width: calc((100% - (25px * 3)) / 4) !important;
    }

    .m-1of5 {
        min-width: calc((100% - (25px * 4)) / 5) !important;
    }

    .m-1of6 {
        min-width: calc((100% - (25px * 5)) / 6) !important;
    }

    .m-1of7 {
        min-width: calc((100% - (25px * 6)) / 7) !important;
    }

    .m-1of8 {
        min-width: calc((100% - (25px * 7)) / 8) !important;
    }

    .m-1of9 {
        min-width: calc((100% - (25px * 8)) / 9) !important;
    }

    .m-1of10 {
        min-width: calc((100% - (25px * 9)) / 10) !important;
    }
}


/* Home cards */


.home-brands article,
.home-brands article>div,
.home-brands article>div>div,
.home-brands article>div>div>div,
.home-brands article>div>div>div>div {
    aspect-ratio: 4/5 !important;
}

.home-brands article>div>div>div {
    padding-bottom: 0 !important;
}

.home-brands .stk-block-button>a {
    padding-top: 20px !important;
    margin-top: -20px !important;
}

.home-brands .brand-card:hover .stk-img-wrapper:after {
    opacity: 0.2 !important;
}

@media screen and (min-width: 1000px) {
    .home-brands .swiper {
        min-height: 450px;
    }

    .home-brands .brand-card #bg-image img {
        scale: 1;
        transition: 0.2s;
    }

    .home-brands .brand-card:hover #bg-image img {
        scale: 1.05;
    }

    .home-brands .brand-card:hover div#bg-image:after {
        opacity: 0.3;
    }

    .home-brands .brand-card #button {
        transform: translateY(0%);
        transition: 0.2s;
    }

    .home-brands .brand-card:hover #button {
        bottom: -50px !important;
        transform: translateY(-50%);
    }

    .home-brands .swiper-slide {
        transition: 0.2s !important;
        margin-right: 0px !important;
        padding-right: 30px;
        box-sizing: content-box;
    }

    .home-brands .swiper-slide:hover {
        width: 300px !important;
    }

    .home-brands .swiper-slide:hover #button {
        bottom: -50px !important;
        transform: translateY(-50%);
    }

    .home-brands .swiper-button-next,
    .home-brands .swiper-button-prev {
        top: 175px;
    }
}

.swiper-carousel:not(.custom-pagination) .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    width: 30px;
    border-radius: 0;
    height: 3px;
    margin: 0 7.5px;
}

.swiper-carousel:not(.custom-pagination) .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet:hover {
    background: black;
    opacity: 0.5;
}

.home-brands .swiper-pagination-bullet-active {
    /* .home-brands .swiper-pagination-bullet-active + *,
.home-brands .swiper-pagination-bullet-active + * + *,
.home-brands .swiper-pagination-bullet-active + * + * + *,
.home-brands .swiper-pagination:has(.swiper-pagination-bullet-active:nth-last-child(1)) *:nth-child(-n+3),
.home-brands .swiper-pagination:has(.swiper-pagination-bullet-active:nth-last-child(2)) *:nth-child(-n+2),
.home-brands .swiper-pagination:has(.swiper-pagination-bullet-active:nth-last-child(3)) *:nth-child(-n+1) { */
    background: black;
    opacity: 1;
}

.block-buttons .swiper-button-prev,
.block-buttons .swiper-button-next {
    height: 50px;
    width: 60px;
    border: 1px solid black;
    color: black;
    transition: 0.2s;
    transform: translateX(-30px);
}

.block-buttons .swiper-button-next {
    transform: translateX(30px);
}

.block-buttons .swiper-button-prev:active,
.block-buttons .swiper-button-next:active {
    scale: 0.95;
}

.block-buttons .swiper-button-prev:hover,
.block-buttons .swiper-button-next:hover {
    background: black;
    color: white;
}

.block-buttons .swiper-button-prev:after,
.block-buttons .swiper-button-next:after {
    content: "←";
    font-size: 20px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: 0.2s left, 0.1s color;
}

.block-buttons .swiper-button-prev:hover:after {
    left: 40%;
}

.block-buttons .swiper-button-next:hover:after {
    left: 60%;
}

.block-buttons .swiper-button-next:after {
    content: "→";
}

.top-nav {
    padding-top: 30px;
}

.top-nav .swiper-navigation-wrapper {
    position: absolute;
    top: -50px;
    right: 0;
    transform: translate(0, 0%);
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: end;
    padding: 0 30px;
    height: 50px;
}

.top-nav .swiper-navigation-wrapper .swiper-button-next,
.top-nav .swiper-navigation-wrapper .swiper-button-prev,
.top-nav .swiper-navigation-wrapper .swiper-scrollbar {
    inset: unset !important;
    margin: 0 !important;
}

.top-nav .swiper-navigation-wrapper .swiper-button-next {
    order: 3;
}

.top-nav .swiper-navigation-wrapper .swiper-button-prev {
    order: 2;
    position: relative;
    left: 1px !important;
}

.top-nav .swiper-navigation-wrapper .swiper-scrollbar {
    order: 1;
    width: calc(100% - 440px) !important;
    position: relative;
    cursor: pointer;
    right: 60px !important;
    height: 25px;
    border-radius: 0px;
    opacity: 1;
    background: none;
    overflow: visible;
}

.top-nav .swiper-navigation-wrapper .swiper-scrollbar:after {
    content: " ";
    background: black;
    height: 1px;
    width: 100%;
    position: absolute;
    top: 50%;
}

div:has(~ .top-nav) {
    margin-right: auto;
}

div.swiper-scrollbar-drag {
    cursor: grab;
    top: 0;
    height: 100%;
    background: none;
    border-radius: 0;
}

div.swiper-scrollbar-drag:after {
    content: " ";
    cursor: grab;
    background: black;
    height: 3px;
    position: absolute;
    top: calc(50% - 1px);
    width: 100%;
}

div.swiper-scrollbar-drag:active:after,
div.swiper-scrollbar-drag:active {
    cursor: grabbing;
}



/* Careers */
.career-area p {
    transform: rotate(-90deg) translateX(-100%);
    transform-origin: top left;
    margin-right: auto;
}

@media screen and (max-width: 999px) and (min-width: 680px) {
    .career-area p {
        transform: rotate(-90deg) translate(-100%, 100%);
    }

    .career-area a {
        font-size: 20px;
    }
}

.career-area strong {
    font-size: 25px;
    font-weight: 600;
}

.post-type-archive-careers strong {
    font-weight: 600;
}

.post-type-archive-careers .stk-button span.stk-button__inner-text {
    font-size: 14px !important;
}

.summary-card a {
    text-decoration: none;
}

.footer-menu-inline a:hover,
.summary-card a:hover,
.career-area a:hover,
.career-brand a:hover {
    text-decoration: underline;
}

div[data-column="widget-area-1"] div:has(> a) .stk-column:last-of-type .stk-block-icon,
div[data-id="widget-area-1"] div:has(> a) .stk-column:last-of-type .stk-block-icon {
    transition: 0.2s !important;
    position: relative;
    left: 0;
}

div[data-column="widget-area-1"] div:has(> a:hover) .stk-column:last-of-type .stk-block-icon,
div[data-id="widget-area-1"] div:has(> a:hover) .stk-column:last-of-type .stk-block-icon {
    left: 10px !important;
}

body.post-type-archive-careers .dropdown,
body.tax-careers_categories .dropdown {
    width: 50%;
}

body.post-type-archive-careers .dropdown button.dropbtn,
body.tax-careers_categories .dropdown button.dropbtn {
    background: none;
    border: 0;
    border-bottom: 1px dashed grey;
    border-bottom-style: dashed;
    font-size: 30px;
    height: auto;
    padding: 0;
}

body.post-type-archive-careers .dropbtn .filter-ico,
body.tax-careers_categories .dropbtn .filter-icon,
body:not(.post-type-archive-careers) .dropbtn .down-icon {
    display: none;
}

body.post-type-archive-careers .dropdown .dropbtn span.down-icon,
body.tax-careers_categories .dropdown .dropbtn span.down-icon {
    position: relative;
    height: 21px;
    width: 21px;
    display: flex;
    overflow: hidden;
    border-radius: 100%;
    transform: rotateX(0deg);
    transition: 0.1s;
}

body.post-type-archive-careers .dropdown .dropbtn span.down-icon:before,
body.tax-careers_categories .dropdown .dropbtn span.down-icon:before,
body.post-type-archive-careers .dropdown .dropbtn span.down-icon:after {
    content: " ";
    position: absolute;
    inset: 0;
    background: white;
    mix-blend-mode: exclusion;
    border-radius: 100%;
    transition: 0.2s;
    opacity: 0;
}

body.post-type-archive-careers .dropdown .dropbtn span.down-icon:after,
body.tax-careers_categories .dropdown .dropbtn span.down-icon:after {
    z-index: -1;
}

body.post-type-archive-careers .dropdown:hover .dropbtn span.down-icon,
body.tax-careers_categories .dropdown:hover .dropbtn span.down-icon {
    transform: rotateX(180deg);
}

body.post-type-archive-careers .dropdown:hover .dropbtn span.down-icon:before,
body.tax-careers_categories .dropdown:hover .dropbtn span.down-icon:before,
body.post-type-archive-careers .dropdown:hover .dropbtn span.down-icon:after,
body.tax-careers_categories .dropdown:hover .dropbtn span.down-icon:after {
    opacity: 1;
}

body.post-type-archive-careers .dropdown .dropdown-content,
body.tax-careers_categories .dropdown .dropdown-content {
    background-color: black;
    padding: 15px 25px;
}

body.post-type-archive-careers .dropdown .dropdown-content a,
body.tax-careers_categories .dropdown .dropdown-content a {
    border: none;
    color: white;
    padding: 13px 0 11px;
    position: relative;
    padding-left: 0px;
    transition: 0.2s;
}

body.post-type-archive-careers .dropdown .dropdown-content a:not(:last-child),
body.tax-careers_categories .dropdown .dropdown-content a:not(:last-child) {
    border-bottom: 1px solid white;
}

body.post-type-archive-careers .dropdown .dropdown-content a:before,
body.tax-careers_categories .dropdown .dropdown-content a:before {
    content: " ";
    inset: 50% auto auto 0;
    width: 0px;
    background-color: white;
    height: 1px;
    border-radius: 10px;
    transform: translateY(-50%);
    transition: 0.2s;
    position: absolute;
}

body.post-type-archive-careers .dropdown .dropdown-content a:hover,
body.tax-careers_categories .dropdown .dropdown-content a:hover {
    background-color: black;
    padding-left: 15px;
}

body.post-type-archive-careers .dropdown .dropdown-content a:hover:before,
body.tax-careers_categories .dropdown .dropdown-content a:hover:before {
    width: 10px;
}

body.post-type-archive-careers span.filter-icon,
body.tax-careers_categories span.filter-icon {
    display: none;
}




@media screen and (max-width: 999px) {

    [data-header*="type-1"] .ct-header [data-id="logo"],
    [data-header*="dt2InS"] .ct-header [data-id="logo"] {
        margin-top: auto !important;
    }
}



/* Mobile Menu */
#offcanvas .ct-panel-content {
    overflow-x: hidden;
    max-width: 100vw;
}

#offcanvas .ct-panel-content>div[data-block="hook:10284"] {
    width: calc(100% + 50px);
    margin: auto -25px -25px;
}

body[data-header="type-1:sticky"] .mob-menu-top {
    min-height: 85px;
}

body[data-header="type-1:sticky:shrink"] .mob-menu-top {
    min-height: 65px;
}

#offcanvas .ct-panel-actions {
    z-index: 2;
}

body[data-header="type-1:sticky"] #offcanvas .ct-panel-actions {
    padding-top: 30px;
}

body[data-header="type-1:sticky:shrink"] #offcanvas .ct-panel-actions {
    padding-top: 20px;
}

@media (min-width: 690px) {
    #offcanvas .ct-panel-content>div[data-block="hook:10284"] {
        width: calc(100% + 70px);
        margin: auto -35px -35px;
    }
}


@media (max-width: 1349px) and (min-width: 1300px) {
    .home-brands.swiper-carousel.block-buttons .swiper-button-next {
        transform: translateX(10px);
    }

    .home-brands.swiper-carousel.block-buttons .swiper-button-prev {
        transform: translateX(-10px);
    }
}

@media (max-width: 1299px) {

    .home-brands.swiper-carousel.block-buttons .swiper-button-next,
    .home-brands.swiper-carousel.block-buttons .swiper-button-prev {
        top: 0;
        transform: translateY(-100%);
        right: 0 !important;
        height: 40px;
        width: 50px;
    }

    .home-brands.swiper-carousel.block-buttons .swiper-button-prev {
        right: 49px !important;
        left: unset !important;
    }
}

/* Force 24 forms */
div[role="f24-form"] {
    font-family: var(--theme-font-family) !important;
    font-size: 14px;
}





/* Site Map */
@media (min-width: 860px) {
    .mapplic-element {
        aspect-ratio: 2/1 !important;
        width: 100% !important;
        height: auto !important;
        min-height: 900px;
    }
}

/* Tablet optimisation */
@media (max-width: 999px) {
    div.hero-section[data-type=type-2]>[class*=ct-container]:after {
        display: none;
    }

    div.hero-section[data-type=type-2]>[class*=ct-container] {
        padding-left: 0;
    }

    div.entries {
        margin-top: 25px;
    }

    [data-prefix="brands_archive"] .entries,
    [data-prefix="offers_archive"] .entries {
        --grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    div.entries .entry-card.whats_on {
        margin-bottom: 0;
    }

    .entries article.offers>.stk-block {
        margin-bottom: 50px;
    }

    .line-before:after,
    .line-after:after {
        content: none !important;
    }

    /* Home */

    body.home .line-before:after,
    body.home .line-after:after {
        content: " " !important;
    }

    .hero {
        height: clamp(550px, 60vw, 900px);
    }

    .hero .swiper-navigation-wrapper .swiper-pagination {
        bottom: 40px;
        padding-right: 10px;
        pointer-events: none;
    }

    .hero .swiper-pagination-clickable .swiper-pagination-bullet {
        margin: 0 5px !important;
        pointer-events: all;
    }

    .hero .swiper-pagination-clickable .swiper-pagination-bullet-active {
        width: 100px;
        margin-right: -5px !important;
    }

    .hero .swiper-pagination-clickable .swiper-pagination-bullet-active .bullet:after {
        width: 40px;
    }

    .hero .swiper-pagination-clickable .swiper-pagination-bullet-active .bullet:before {
        height: 30px;
        width: 30px;
    }

    .hero .swiper-pagination-clickable .swiper-pagination-bullet .number {
        font-size: 15px;
    }

    .hero .swiper .videoControl.pause {
        height: 25px;
        width: 25px;
        bottom: calc(100% - 120px);
    }

    .swiper-carousel.top-nav {
        padding-top: 30px;
    }

    .home-offers article.entry-card {
        padding-bottom: 0;
    }

    .top-nav .swiper-navigation-wrapper .swiper-button-next,
    .top-nav .swiper-navigation-wrapper .swiper-button-prev {
        height: 40px;
        width: 50px;
    }

    .top-nav .swiper-navigation-wrapper .swiper-button-prev {
        left: 11px !important;
    }

    .top-nav .swiper-navigation-wrapper .swiper-scrollbar {
        width: calc(100% - 400px) !important;
        right: 40px !important;
    }


    body.single-offers[data-header*="type-1"] .ct-header [data-transparent-row="yes"][data-row*="middle"] {
        background-color: #eff4f7;
    }

    body.single-brands[data-header*="type-1"] .ct-header [data-transparent-row="yes"][data-row*="middle"] {
        background-color: #e7f3ea;
    }

    body.single-whats_on[data-header*="type-1"] .ct-header [data-transparent-row="yes"][data-row*="middle"] {
        background-color: #fcf3c9;
    }

    body.post-type-archive-careers[data-header*="type-1"] .ct-header [data-transparent-row="yes"][data-row*="middle"],
    body.tax-careers_categories[data-header*="type-1"] .ct-header [data-transparent-row="yes"][data-row*="middle"],
    body.single-careers[data-header*="type-1"] .ct-header [data-transparent-row="yes"][data-row*="middle"] {
        background-color: var(--paletteColor5);
    }

    body.post-type-archive-careers button.ct-header-trigger svg,
    body.tax-careers_categories button.ct-header-trigger svg,
    body.single-careers button.ct-header-trigger svg,
    body.single-whats_on button.ct-header-trigger svg,
    body.single-brands button.ct-header-trigger svg,
    body.single-offers button.ct-header-trigger svg {
        fill: black;
    }

    .brand-facilities-cntr div {
        padding: 0 20px;
        height: 40px;
        margin-right: 15px;
        margin-bottom: 15px;
    }

    .brand-facilities-cntr .icon {
        height: 15px;
        width: 15px;
    }

    .brand-facilities-cntr .title {
        font-size: 11px;
    }

    body.post-type-archive-careers input#liveSearch,
    body.tax-careers_categories input#liveSearch {
        height: 40px;
        width: auto;
        font-size: 12px;
        min-width: 300px;
    }

    body.post-type-archive-careers .dropdown button.dropbtn,
    body.tax-careers_categories .dropdown button.dropbtn {
        font-size: 20px;
    }

    body.post-type-archive-careers .dropdown .dropbtn span.down-icon,
    body.tax-careers_categories .dropdown .dropbtn span.down-icon {
        height: 18px;
        width: 18px;
    }
}



/* Mobile optimisation */
@media (max-width: 689px) {

    [data-prefix="brands_archive"] .entries,
    [data-prefix="offers_archive"] .entries {
        --grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .entries article.offers>.stk-block {
        margin-bottom: 25px;
    }

    div.acf-fields>.acf-field {
        padding: 0 0 25px;
    }

    /* Home */
    .home-brands.swiper-carousel.block-buttons .swiper-button-next,
    .home-brands.swiper-carousel.block-buttons .swiper-button-prev {
        height: 30px;
        width: 40px;
        transform: translateY(-50%);
    }

    .home-brands.swiper-carousel.block-buttons .swiper-button-prev {
        right: 39px !important;
    }

    .hero {
        height: clamp(500px, 100vw, 600px);
    }

    .hero .swiper-navigation-wrapper .swiper-pagination {
        bottom: 15px;
        padding-right: 0;
        right: 15px;
    }

    .hero .swiper .videoControl.pause {
        bottom: calc(100% - 100px);
    }

    .hero .swiper-pagination-clickable .swiper-pagination-bullet {
        height: 40px;
        width: 30px;
        margin: 0 0px !important;
    }

    .hero .swiper-pagination-clickable .swiper-pagination-bullet .bullet {
        height: 7px;
        width: 7px;
    }

    .hero .swiper-pagination-clickable .swiper-pagination-bullet-active .bullet:before {
        height: 20px;
        width: 20px;
    }

    .hero .swiper-pagination-clickable .swiper-pagination-bullet-active .bullet:after {
        width: 25px;
    }

    .hero .swiper-pagination-clickable .swiper-pagination-bullet .number {
        font-size: 12px;
    }

    .hero .swiper-pagination-clickable .swiper-pagination-bullet-active {
        width: 75px;
        margin-right: -10px !important;
    }

    .swiper-carousel.top-nav {
        padding-top: 30px;
    }

    .top-nav .swiper-navigation-wrapper {
        top: unset;
        bottom: -20px;
        padding: 0;
        z-index: 1;
    }

    .top-nav .swiper-navigation-wrapper .swiper-scrollbar {
        width: 100% !important;
        right: unset !important;
    }


    .home-whats-on .swiper-wrapper {
        flex-flow: column;
    }

    .home-whats-on .swiper-slide {
        width: 100% !important;
    }

    .line-m-hide.line-before:after,
    .line-m-hide.line-after:after,
    body.home .line-m-hide.line-before:after,
    body.home .line-m-hide.line-after:after {
        content: none !important;
    }

    .brand-facilities-cntr div {
        margin-right: 10px;
        margin-bottom: 10px;
    }

    .brand-facilities-cntr .title {
        font-size: 10px;
    }

    body.post-type-archive-careers .dropdown button.dropbtn,
    body.tax-careers_categories .dropdown button.dropbtn {
        font-size: 12px;
    }

    body.post-type-archive-careers .dropdown .dropbtn span.down-icon,
    body.tax-careers_categories .dropdown .dropbtn span.down-icon {
        height: 16px;
        width: 16px;
    }
}


@media screen and (min-width: 690px) {
    body.single-brands .swiper-wrapper:not(:has(.swiper-slide:nth-of-type(4))) .swiper-slide {
        max-width: calc((100% - 60px) / 3);
    }
}




div.mapplic-element.mapplic-hidden-sidebar .mapplic-sidebar-toggle {
    margin: 0 !important;
}

div.mapplic-element.mapplic-hidden-sidebar .mapplic-sidebar-toggle .mapplic-icon-sidebar {
    transform: rotate(0deg);
}

div.mapplic-element.mapplic-hidden-sidebar .mapplic-container {
    width: 70%;
}

@media screen and (min-width: 1000px) {
    div.mapplic-element.mapplic-hidden-sidebar:not(.mapplic-portrait) .mapplic-sidebar {
        margin-left: 80px;
        opacity: 1;
    }
}

@media screen and (max-width: 999px) and (min-width: 690px) {
    .mapplic-element.mapplic-hidden-sidebar:not(.mapplic-portrait) .mapplic-sidebar {
        margin-left: 0%;
        opacity: 1;
    }
}

/* 
div.mapplic-sidebar-right.mapplic-hidden-sidebar:not(.mapplic-portrait) .mapplic-sidebar {
	margin-left: 0;
	margin-right: -30%;
} */


div.mapplic-element:not(.mapplic-hidden-sidebar) .mapplic-sidebar-toggle {
    margin: 0 12px 0 0 !important;
}

div.mapplic-element:not(.mapplic-hidden-sidebar) .mapplic-sidebar-toggle .mapplic-icon-sidebar {
    transform: rotate(180deg);
}

div.mapplic-element:not(.mapplic-hidden-sidebar) .mapplic-container {
    width: 100%;
}

div.mapplic-element:not(.mapplic-hidden-sidebar):not(.mapplic-portrait) .mapplic-sidebar {
    margin-left: -30%;
    opacity: 0;
}

/* div.mapplic-sidebar-right:not(.mapplic-hidden-sidebar):not(.mapplic-portrait) .mapplic-sidebar {
	margin-left: 0;
	margin-right: -30%;
} */

.hide {
    display: none !important;
}

div:has(h6.stk-block-heading__text span.hidden)>.stk--transparent-overlay {
    opacity: 0 !important;
}



.mapplic-element .mapplic-sidebar-toggle:focus,
.mapplic-element .mapplic-sidebar-toggle {
    /* background-color: white; */
    scale: 1.4;
    transform: translateX(10px);
    background-image: url(https://caledoniapark.com/wp-content/themes/caledoniapark.com/assets/search.png);
    background-position: center;
    background-size: cover;
    top: 60px;
}

.mapplic-hidden-sidebar.mapplic-element .mapplic-sidebar-toggle {
    background: white;
}

.mapplic-element .mapplic-sidebar-toggle .mapplic-icon-sidebar:focus,
.mapplic-element .mapplic-sidebar-toggle .mapplic-icon-sidebar {
    fill: black;
    display: none;
}

.mapplic-hidden-sidebar.mapplic-element .mapplic-sidebar-toggle .mapplic-icon-sidebar {
    display: block;
}

.mapplic-hidden-sidebar.mapplic-element .mapplic-sidebar-toggle:hover {
    background-color: black;
    filter: invert(0);
}

.mapplic-element .mapplic-sidebar-toggle:hover {
    filter: invert(1);
}

.mapplic-element .mapplic-sidebar-toggle:hover .mapplic-icon-sidebar {
    fill: white;
}

/* Unicorns */
.basic-grid input[type=text] {
    height: 80px !important;
    text-align: center;
}

.basic-grid {
    margin-top: 20px;
    display: grid;
    gap: 3rem;
    grid-template-columns: repeat(auto-fit, minmax(80px, 1fr));
}

.acf-fields.-border {
    border: unset !important;
}


.stk-block-image+h1.wp-block-heading {
    margin-top: 0;
}

/* @media screen and (max-width: 1000px) {
    .page main:not(:has(.hero-section)) .entry-content .stk-block-image:first-child {
        margin-top: 85px;
    }
}

@media screen and (max-width: 690px) {
    .page main:not(:has(.hero-section)) .entry-content .stk-block-image:first-child {
        margin-top: 75px;
    }
} */




.page .entry-header .page-title {
/*     text-shadow: 0 0 40px black; */
/*     color: white; */
}

/* Testimonials */
body.page-id-19246 h1.page-title {
	max-width: 550px;
}


.weekly-opening-hours .active {
	font-weight:bold;
	/*background-color:#000;
	color:#fff;*/
}
.weekly-opening-hours .dayDiv, .custom-dates .dayDiv{
	display: flex;
	justify-content: space-between;
}
.dayDiv {
	padding:10px 0;
	border-bottom:1px solid #000;
}
.dayDiv .day,.dayDiv .hours{
	display: flex;
    flex-direction: column;
    text-align: left;
	justify-content: flex-end;
}
.dayDiv .hours{
    text-align: right;
}

.stk-block.hide-if-slider-empty:has(* .swiper-wrapper):not(:has(* .swiper-wrapper>*)) {
    display: none;
}