/*

Complete Wellness Collective
Stylesheet

*/

/* Global Colours*/
/*--dark-grey: #6f716c; */
:root {
    --white: #ffffff;
    --black: #000000;
    --gold: #e0bb65;
    --dark-gold: #b49752;
    --grey: #f5f6f1;
    --dark-grey: #3b3b3a;
    --pink: #e2cfc8;
}

/* Global Styles */
html { font-size: 17px; font-family: 'Open Sans', 'Arial', serif; font-weight: 300; color: var(--black); line-height: 1.4em; }
h1, .uk-h1,
h2, .uk-h2,
h3, .uk-h3,
h4, .uk-h4,
h5, .uk-h5 { font-family: 'Libre Caslon Display Regular', 'Times New Roman', serif; font-weight: 600; line-height: 1.1em; }
.uk-grid-column-xlarge, .uk-grid-xlarge { margin-left: -140px; }
.uk-grid-column-xlarge>*, .uk-grid-xlarge>* { padding-left: 140px; }
strong { font-weight: 600; }
a { color: var(--dark-gold);}
a:hover,
a:focus { color: var(--dark-gold); }
p a { font-weight: 600; }
.uk-text-400 { font-weight: 400; }
.uk-text-500 { font-weight: 500; }
.uk-text-600 { font-weight: 600; }
.uk-text-700 { font-weight: 700; }
.uk-text-800 { font-weight: 800; }
.uk-text-small { font-size: 0.8rem; }
.uk-text-default { font-size: 1rem; }
.uk-text-medium { font-size: 1.2rem; line-height: 1.4em; }
.uk-text-large { font-size: 1.4rem; }
.uk-text-black { background-color: var(--black); }
.uk-text-white { background-color: var(--white); }
.uk-text-gold { background-color: var(--gold); }
.uk-text-grey { background-color: var(--grey); }
.uk-text-pink { background-color: var(--pink); }
.uk-text-left { text-align: left !important; }
.uk-text-center { text-align: center !important; }
.uk-text-right { text-align: right !important; }

/* Button */
.uk-button { font-weight: 500; text-transform: unset; line-height: 45px; padding: 0px 35px; }
.uk-button-small { font-weight: 500; text-transform: unset; line-height: 35px; padding: 0px 25px; font-size: 0.8rem; }
.uk-button-large { font-weight: 500; text-transform: unset; line-height: 50px; padding: 0px 50px; font-size: 1.2rem; }

.uk-button-primary { border-color: var(--gold); background-color: var(--gold); color: var(--black); transition: background-color 0.3s ease, color 0.3s ease; }
.uk-button-primary:hover,
.uk-button-primary:focus { border-color: var(--gold); background-color: var(--black); color: var(--white); }

.uk-button-secondary { border-color: var(--gold); background-color: var(--black); color: var(--white); transition: background-color 0.3s ease, color 0.3s ease; }
.uk-button-secondary:hover,
.uk-button-secondary:focus { border-color: var(--white); background-color: var(--white); color: var(--black); }

.uk-button-default { background-color: var(--white); color: var(--black); transition: background-color 0.3s ease, color 0.3s ease; }
.uk-button-default:hover,
.uk-button-default:focus { background-color: var(--black); color: var(--white); }

/* UiKit Margin */
.uk-margin-top { margin-top: 20px !important; }
.uk-margin-small-top { margin-top: 10px !important; }
.uk-margin-medium-top { margin-top: 40px !important; }
.uk-margin-large-top { margin-top: 70px !important; }
.uk-margin-xlarge-top { margin-top: 140px !important; }
.uk-margin-remove-top { margin-top: 0px !important; }
.uk-margin-bottom { margin-bottom: 20px !important; }
.uk-margin-small-bottom { margin-bottom: 10px !important; }
.uk-margin-medium-bottom { margin-bottom: 40px !important; }
.uk-margin-large-bottom { margin-bottom: 70px !important; }
.uk-margin-xlarge-bottom { margin-bottom: 140px !important; }
.uk-margin-remove-bottom { margin-bottom: 0px !important; }
.uk-margin { margin: 20px !important; }
.uk-margin-small { margin: 10px !important; }
.uk-margin-medium { margin: 40px !important; }
.uk-margin-large { margin: 70px !important; }
.uk-margin-xlarge { margin: 140px !important; }
.uk-margin-remove { margin: 0px !important; }

/* UiKit Padding */
.uk-padding-top { padding-top: 20px !important; }
.uk-padding-small-top { padding-top: 10px !important; }
.uk-padding-medium-top { padding-top: 40px !important; }
.uk-padding-large-top { padding-top: 70px !important; }
.uk-padding-xlarge-top { padding-top: 140px !important; }
.uk-padding-remove-top { padding-top: 0px !important; }
.uk-padding-bottom { padding-bottom: 20px !important; }
.uk-padding-small-bottom { padding-bottom: 10px !important; }
.uk-padding-medium-bottom { padding-bottom: 40px !important; }
.uk-padding-large-bottom { padding-bottom: 70px !important; }
.uk-padding-xlarge-bottom { padding-bottom: 140px !important; }
.uk-padding-remove-bottom { padding-bottom: 0px !important; }
.uk-padding { padding: 20px !important; }
.uk-padding-small { padding: 10px !important; }
.uk-padding-medium { padding: 40px !important; }
.uk-padding-large { padding: 70px !important; }
.uk-padding-xlarge { padding: 140px !important; }
.uk-padding-remove { padding: 0px !important; }

/* Colours */
.uk-background-none { background-color: unset; }
.uk-background-white { background-color: var(--white); }
.uk-background-gold { background-color: var(--gold); }
.uk-background-grey { background-color: var(--grey); }
.uk-background-pink { background-color: var(--pink); }
.uk-box-shadow { box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); }

.uk-background-gold .uk-button-primary { background-color: var(--black); color: var(--white); }
.uk-background-gold .uk-button-primary:hover,
.uk-background-gold .uk-button-primary:focus { background-color: var(--white); color: var(--black); }

/* Container */
.uk-container { max-width: 1200px; }
.uk-container-small { max-width: 900px; }
.uk-container-medium { max-width: 1300px; }
.uk-container-large { max-width: 1400px; }
.uk-container-xlarge { max-width: 1600px; }
.uk-container-collapse { max-width: 100%; padding-left: 0px; padding-right: 0px; }

/* Header */
header.header { background-color: var(--dark-grey); color: var(--white); position: relative; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); }
header.header .logo-container { position: absolute; left: 0; background-color: var(--dark-grey); z-index: 1000; transition: transform 0.45s cubic-bezier(.4,0,.2,1), opacity 0.25s ease; will-change: transform, opacity; }
header.header .logo-main { width: 160px; top: 0; padding: 15px 10px; }
header.header .logo-main a { height: 100%; display: block; }
header.header .logo-small { width: 240px; top: 0; padding: 8px 8px; transform: translateY(-100%); opacity: 0; height: 100%; box-sizing: border-box; display: flex; align-items: center; }
header.header .logo-container img { width: 100%; height: auto; pointer-events: none; transition: filter 0.5s cubic-bezier(.4,0,.2,1); }
header.header .logo-container a:hover img { filter: brightness(1.15); }
header.header.uk-active .logo-main { transform: translateY(-100%); opacity: 0; }
header.header.uk-active .logo-small { transform: translateY(0); opacity: 1; }

header.header .uk-navbar .uk-navbar-nav { gap: 5px; }
header.header .uk-navbar .uk-navbar-nav a { color: var(--grey); text-transform: none; font-family: 'Open Sans', 'Arial', serif; box-sizing: border-box; padding: 0 20px; transition: background-color 0.3s ease, color 0.3s ease; font-weight: 600; position: relative; }
header.header .uk-navbar .uk-navbar-nav a:hover { color: var(--black); background-color: var(--gold); }
header.header .uk-navbar .uk-navbar-nav a:has(svg) { padding-right: 40px; position: relative; }
header.header .uk-navbar .uk-navbar-nav a svg { position: absolute; top: 11px; right: 15px; transition: transform 0.3s cubic-bezier(.4,0,.2,1); transform-origin: center; }
header.header .uk-navbar .uk-navbar-nav a:hover svg { transform: rotate(180deg); }

header.header .uk-navbar .uk-navbar-nav li:has(.uk-open) > a { color: var(--black); background-color: var(--gold); }
header.header .uk-navbar .uk-navbar-nav li:has(.uk-open) > a svg { transform: rotate(180deg); top: 13px; }

header.header .uk-navbar .uk-navbar-dropdown { top: 55px !important; min-width: 320px; }
header.header .uk-navbar .uk-navbar-dropdown li { margin-bottom: 20px;}
header.header .uk-navbar .uk-navbar-dropdown li:last-child { margin-bottom: 0px;}
header.header .uk-navbar .uk-navbar-dropdown a { color: var(--dark-grey); padding: 0px; font-weight: 400; line-height: 1.3em;}
header.header .uk-navbar .uk-navbar-dropdown li.current_page_item a,
header.header .uk-navbar .uk-navbar-dropdown a:hover { color:var(--gold); background-color: unset; }
.uk-navbar-item, .uk-navbar-nav>li>a, .uk-navbar-toggle { min-height: 40px;}
.uk-navbar-nav>li { min-height: 90px; display: flex; align-items: center;}

header.header .uk-navbar .uk-navbar-nav .book-now a { color: var(--black); height: 36px;}
header.header .uk-navbar .uk-navbar-nav .book-now a:hover,
header.header .uk-navbar .uk-navbar-nav .book-now a:focus { background-color: var(--black); color: var(--white); }


/* Mobile Menu */
.burger-menu { padding: 10px 20px; font-size: 30px; background-color: unset; border: none; color: var(--white); }

.uk-offcanvas-bar { padding: 0px; }
.uk-offcanvas-bar .uk-offcanvas-close svg { color: var(--white); widtH: 20px; height: 20px; }
.uk-offcanvas-bar .uk-nav-default { margin-top: 50px; display: block; }
.uk-offcanvas-bar .uk-nav-default li { padding: 5px 20px;}
.uk-offcanvas-bar .uk-nav-default li a { color: var(--white); font-size: 1.1rem; font-weight: 500;}
.uk-offcanvas-bar .uk-nav-default li a:hover,
.uk-offcanvas-bar .uk-nav-default li a:focus { color: var(--white);}
.uk-offcanvas-bar ul.uk-nav-sub { padding: 0px !important; background-color: var(--dark-grey); }

.uk-offcanvas-bar .uk-nav .uk-parent > a { position: relative; padding-right: 1.5rem; }
.uk-offcanvas-bar .uk-nav .uk-parent > a::after { content: ""; position: absolute; right: 0.25rem; top: 16px; width: 6px; height: 6px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-50%) rotate(45deg); transition: transform 0.25s ease; }
.uk-offcanvas-bar .uk-nav .uk-parent.uk-open > a::after { transform: translateY(-50%) rotate(-135deg); top: 20px; }

.uk-offcanvas-bar .uk-nav .uk-parent.uk-open > a { margin-bottom: 5px;}
.uk-offcanvas-bar .uk-nav .uk-parent .uk-nav-sub li { padding: 5px 10px; }
.uk-offcanvas-bar .uk-nav .uk-parent .uk-nav-sub li:first-of-type { padding-top: 10px; }
.uk-offcanvas-bar .uk-nav .uk-parent .uk-nav-sub li:last-of-type { padding-bottom: 10px; }
.uk-offcanvas-bar .uk-nav .uk-parent .uk-nav-sub li a { color: var(--white); font-size: 0.95rem;}

/* Banner */
.banner { width: 100%;  position: relative; overflow: hidden; background-size: cover; background-position: center; background-repeat: no-repeat; display: flex; align-items: center;}
.banner-shadow { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(to right, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.55), rgba(0, 0, 0, 0.7)); pointer-events: none; z-index: 1; }
.banner .uk-container { position: relative; z-index: 2; color: var(--white); }
.banner .uk-container > * { color: var(--white); }
.banner .uk-container p { font-size: 1.25rem; line-height: 1.4; }
.banner .banner-button-container { display: flex; gap: 20px; align-items: center; justify-content: center; margin-top: 30px; }
.banner.default { min-height: 600px; }
.banner.small { min-height: 450px; }

/* Content with background image */
.content-with-background-image { height: fit-content; position: relative; background-size: cover; background-position: center; background-repeat: no-repeat; display: flex; align-items: center; }
.content-with-background-image.parallax-background-image { background-attachment: fixed; }
.content-with-background-image .content-with-background-image-content { width: 50%; padding: 40px; margin-top: 100px; margin-bottom: 100px; }
.content-with-background-image .content-with-background-image-content.right-floating-content { margin-left: 50%; }

/* Left and right container aligner */
.left-container-aligner { padding-left: calc((100vw - 1290px) / 2); }
.right-container-aligner { padding-right: calc((100vw - 1290px) / 2); }

.site-image { width: 100%; height: auto; }

/* Form */
.wpcf7 form label { width: 100%; display: block; color: var(--dark-grey); font-weight: 400; }
.wpcf7 form .wpcf7-form-control-wrap { width: 100%; display: block; overflow: visible; box-sizing: border-box; margin-top: 6px; }
.wpcf7 form input,
.wpcf7 form textarea { width: 100%; box-sizing: border-box; display: block; padding: 10px; font-size: 1rem; color: var(--dark-grey); font-family: 'Open Sans', 'Arial', serif; background-color: var(--white); border: 1px solid var(--dark-grey) }
.wpcf7 form input[type="submit"] { background-color: var(--gold); width: fit-content; color: var(--black); padding: 10px 30px; border: none; transition: background-color 0.3s ease, color 0.3s ease; font-weight: 500; }
.wpcf7 form input[type="submit"]:hover { background-color: var(--black); cursor: pointer; color: var(--white); }

.wpcf7 form p:has(.wpcf7-spinner) { margin-bottom: 0px; }
.wpcf7 form .wpcf7-spinner { margin-top: 20px; display: none; }
.wpcf7-form.submitting .wpcf7-spinner,
.wpcf7-form.invalid .wpcf7-spinner { display: block; }
.wpcf7-response-output { margin: 0px !important; width: 100%; box-sizing: border-box; }
.wpcf7 form input:focus,
.wpcf7 form textarea:focus { outline: none; }

.wpcf7 form p:first-of-type { margin-top: 0px; }

.uk-background-white.uk-padding-medium:has(.wpcf7) { padding: 0px!important; }
.uk-background-white.uk-padding-medium .wpcf7 { padding: 40px!important; border: 1px solid var(--gold); }

/* Icon Grid */
.icon-grid .icon-grid-item { text-align: center; }
.icon-grid .icon-grid-item img { width: 40px; height: 40px; object-fit: cover; pointer-events: none; }
.icon-grid .icon-grid-item h2 { margin-top: 10px; font-family: 'Open Sans', 'Arial', serif; font-weight: 500; font-size: 1.2rem; margin-bottom: 10px; }
.icon-grid .icon-grid-item p { margin: 0px;}
.uk-background-grey .icon-grid .icon-grid-item img,
.uk-background-white .icon-grid .icon-grid-item img { filter: invert(77%) sepia(24%) saturate(504%) hue-rotate(3deg) brightness(94%) contrast(89%); }

/* Card Grid */
.card-grid .card-grid-card { padding: 20px; background-color: var(--white); color: var(--black); transition: transform 0.3s ease, box-shadow 0.3s ease; }
.card-grid a:hover { text-decoration: none; }
.card-grid a:hover .card-grid-card { transform: translateY(-10px); box-shadow: 0 15px 35px rgba(0, 0, 0, 0.15); }
.card-grid .card-grid-card h3 { margin-bottom: 0px; }
.card-grid .card-grid-card p { margin-top: 10px; font-size: 0.85rem; margin-bottom: 0px;}

/* Team Members */
.team-members-grid .team-member-card { background-color: var(--white); padding: 20px; text-align: center; }
.team-members-grid .team-member-card img { width: 100%; height: 300px; object-fit: cover; }
.team-members-grid .team-member-card h3 { margin-top: 15px; margin-bottom: 5px; }
.team-members-grid .team-member-card .specialisation-list { padding-left: 0px; list-style-type: none; margin-bottom: 0px; }
.team-members-grid .team-member-card .specialisation-list li { font-size: 0.9rem; line-height: 1.3em; margin-bottom: 3px; }
.team-members-grid .team-member-card .specialisation-list li:last-of-type { margin-bottom: 0px; }

/* Map Section */
.map-section { height: fit-content; position: relative; display: flex; align-items: center; overflow: hidden; }
.map-section .map-section-content { width: 40%; padding: 40px; margin-top: 100px; margin-bottom: 100px; position: absolute; z-index: 1; }
.map-section iframe { min-height: 600px; width: 140%; margin-right: -30%;}
.map-section .map-section-content .map-address { margin: 0px; }

/* Page Grid */
.page-grid .page-grid-card { transition: transform 0.3s ease, box-shadow 0.3s ease; overflow: hidden; position: relative; }
.page-grid .page-grid-card:hover { transform: translateY(-10px); box-shadow: 0 12px 25px rgba(0,0,0,0.15); }
.page-grid .page-grid-card .page-grid-card-content-container { padding: 20px; }
.page-grid .page-grid-card .page-grid-card-content-container p { font-size: 0.9rem; margin: 0px;}
.page-grid .page-grid-card .page-grid-card-content-container h3 { margin-bottom: 10px;}
.page-grid .page-grid-card .page-grid-card-image-container { width: 100%; height: 250px; }
.page-grid .page-grid-card .page-grid-card-image-container img { width: 100%; height: 100%; object-fit: cover; }
.page-grid a { color: var(--black); }
.page-grid a:hover { text-decoration: none; }

/* Success Stories */
.success-story-card { color: var(--black); border: 1px solid var(--gold); padding: 40px; background-color: var(--white); pointer-events: none; display: flex; flex-direction: column; justify-content: space-between;}
.success-story-card .success-story-content { font-style: italic; }
.success-story-card .success-story-name { margin: 0px; text-align: right; font-weight: 600; font-size: 1.2rem; color: var(--dark-gold); }
.slider-navigation svg { color: var(--dark-grey);}

/* FAQs */
.faq-accordion li { border: 1px solid var(--gold); padding: 20px; background-color: var(--white); }
.faq-accordion li a { color: var(--black); font-size: 1.2rem; font-weight: 400; }
.faq-accordion li a:hover,
.faq-accordion li a:focus { color: var(--dark-gold);}
.faq-accordion li .uk-accordion-content { margin-top: 12px; }

/* Footer */
footer { background-color: var(--dark-grey); color: var(--white); }
footer .footer-main { padding-top: 50px; padding-bottom: 50px; }
footer .footer-main .footer-logo { width: 150px; }
footer .footer-main nav ul { padding-left: 0px; list-style-type: none; }
footer a { color: var(--white);}
footer a:hover,
footer a:focus { color: var(--gold); text-decoration: none;}
footer .footer-main strong { margin-bottom: 5px; display: block; font-size: 1rem; }
footer .footer-main p.address { margin: 0px;  }
footer .footer-sub { background-color: var(--black); color: var(--white); padding-top: 10px; padding-bottom: 10px; font-size: 0.8rem; }

footer .footer-sub .footer-menu-bottom { display: flex; flex-wrap: wrap; list-style: none; margin: 0; padding: 0; }
footer .footer-sub .footer-menu-bottom li { display: flex; align-items: center; }
footer .footer-sub .footer-menu-bottom li:not(:last-child)::after { content: "|"; margin: 0 10px; color: inherit; }
footer .footer-sub .footer-menu-bottom a { text-decoration: none; }

/* Media @xl */
@media (max-width: 1599px) {

}

/* Media Custom */
@media (max-width: 1229px) {

}

/* Media @l */
@media (max-width: 1199px) {

}

/* Media @m */
@media (max-width: 959px) {
    .left-container-aligner { padding-left: 0; }
    .right-container-aligner { padding-right: 0; }
    .content-with-background-image .content-with-background-image-content.right-floating-content { margin-left: 0px; }
    .content-with-background-image .content-with-background-image-content { width: 100%; margin-bottom: -1px; margin-top: 250px; }

    header.header .logo-main { width: 90px; }
    header.header .logo-small { width: 220px; }

    .banner.default,
    .banner.small { min-height: unset; }
    .banner.default .uk-container,
    .banner.small .uk-container { max-width: 80%; margin-top: 60px; margin-bottom: 60px; }

    footer .footer-main > div > div { text-align: center;}
    footer .footer-sub > div > div > div { text-align: center;}
    footer .footer-sub .footer-menu-bottom  { width: 100%; justify-content: center;}
    footer .footer-sub .uk-grid-margin { margin-top: 10px; }

    .cta div  { text-align: center; justify-content: center;}
    .cta .uk-grid-margin { margin-top: 20px; }

    /* UiKit Margin */
    .uk-margin-top { margin-top: 15px !important; }
    .uk-margin-small-top { margin-top: 5px !important; }
    .uk-margin-medium-top { margin-top: 20px !important; }
    .uk-margin-large-top { margin-top: 40px !important; }
    .uk-margin-xlarge-top { margin-top: 90px !important; }
    .uk-margin-remove-top { margin-top: 0px !important; }
    .uk-margin-bottom { margin-bottom: 15px !important; }
    .uk-margin-small-bottom { margin-bottom: 5px !important; }
    .uk-margin-medium-bottom { margin-bottom: 20px !important; }
    .uk-margin-large-bottom { margin-bottom: 40px !important; }
    .uk-margin-xlarge-bottom { margin-bottom: 90px !important; }
    .uk-margin-remove-bottom { margin-bottom: 0px !important; }
    .uk-margin { margin: 15px !important; }
    .uk-margin-small { margin: 5px !important; }
    .uk-margin-medium { margin: 20px !important; }
    .uk-margin-large { margin: 40px !important; }
    .uk-margin-xlarge { margin: 90px !important; }
    .uk-margin-remove { margin: 0px !important; }

    /* UiKit Padding */
    .uk-padding-top { padding-top: 15px !important; }
    .uk-padding-small-top { padding-top: 5px !important; }
    .uk-padding-medium-top { padding-top: 20px !important; }
    .uk-padding-large-top { padding-top: 40px !important; }
    .uk-padding-xlarge-top { padding-top: 90px !important; }
    .uk-padding-remove-top { padding-top: 0px !important; }
    .uk-padding-bottom { padding-bottom: 15px !important; }
    .uk-padding-small-bottom { padding-bottom: 5px !important; }
    .uk-padding-medium-bottom { padding-bottom: 20px !important; }
    .uk-padding-large-bottom { padding-bottom: 40px !important; }
    .uk-padding-xlarge-bottom { padding-bottom: 90px !important; }
    .uk-padding-remove-bottom { padding-bottom: 0px !important; }
    .uk-padding { padding: 15px !important; }
    .uk-padding-small { padding: 5px !important; }
    .uk-padding-medium { padding: 20px !important; }
    .uk-padding-large { padding: 40px !important; }
    .uk-padding-xlarge { padding: 90px !important; }
    .uk-padding-remove { padding: 0px !important; }
}

/* Media @s */
@media (max-width: 639px) {

}

/* Media Custom */
@media (max-width: 459px) {
    header.header .logo-small { width: 160px; }
    .uk-button { padding: 0px 12px; line-height: 40px; }
    .map-section iframe { min-height: 600px; width: 160%; margin-right: -50%;}
    header.header .uk-navbar .uk-navbar-nav .book-now a { height: 40px; padding: 0px 12px; }
}