:root {
    --max-width: 1600px;
    --max-width-pad: 60px;
    --color-primary: rgba(41, 100, 106, 1);
    --color-secondary: #D1826F;
    --color-accent: #fff6f4;
    --color-accent-2: #ffeeea;
    --color-accent-3: #FCCCB7;
    --font-color: #35383d;
    --color-dark: #29646A;
    --border-rad-8: 8px;
    --transition-ease: 0.3s all ease;
    --font-title: "Oswald", sans-serif;
    --font-body: "Montserrat", sans-serif;
    --font-bold: 700;
    --font-med: 500;
}

::selection {
    background: var(--color-secondary);
    color: #fff;
}

.grecaptcha-badge {
    display: none !important;
}
* {
    margin: 0;
    padding: 0;
}

html {
    font-size: 62.5%;
    color: #000;
}


body {
    font-size: 19px;
    font-family: var(--font-body);
    line-height: 1.5;
    color: var(--font-color);
    max-width: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-text-size-adjust: none;
}

.container {
    max-width: 1490px;
    padding: 0 var(--max-width-pad);
}

html,
body {
    overflow-x: hidden;
}


h1 {
    font-size: 7.6rem;
    margin: 0;

}


h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--font-title);
    text-transform: uppercase;

}

h2 {
    font-size: 5rem;
    line-height: 1.2;
}

h3 {
    font-size: 2.8rem;
}

p {
    margin-bottom: 1.6rem;
}

p:last-child {
    margin-bottom: 0;
}

.content--text h2 {
    font-size: 3.5rem;
    margin-bottom: 0.6rem;
}

.content--text h3 {
    font-size: 3rem;
    margin-bottom: 0.6rem;
}

img {
    width: 100%;
}

a.no--style {
    color: inherit;
    text-decoration: none;
}


@media screen and (max-width: 991px) {
    .section {
        padding: 6rem 0;
    }
}


.section-bg {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
}


.section-bg img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    -o-object-fit: cover;
    -webkit-object-fit: cover;
    -moz-object-fit: cover;
    -ms-object-fit: cover;
    object-position: center;
}




a {
    transition: var(--transition-ease);
    -ms-transition: var(--transition-ease);
    -webkit-transition: var(--transition-ease);
    -o-transition: var(--transition-ease);
    -moz-transition: var(--transition-ease);
    display: inline-block;
}

.content--button a {
    background: #ffffff;
    color: #29646A;
    border: 2px solid #ffffff;
    padding: 19px 32px;
    font-family: var(--font-title);
    text-transform: uppercase;
    text-decoration: none;
    border-radius: var(--border-rad-8);
    -ms-border-radius: var(--border-rad-8);
    -webkit-border-radius: var(--border-rad-8);
    -moz-border-radius: var(--border-rad-8);
    -o-border-radius: var(--border-rad-8);
    font-size: 1.6rem;
    font-weight: 700;
}

.content--button a:hover {
    background: var(--color-secondary);
    color: #fff;
    border-color: var(--color-secondary);
}

.content--button a:hover svg path {
    fill: var(--color-primary);
}

.content--button.big-pad a {
    padding: 1.2rem 3.2rem;
}

.secondary-btn a {
    background: var(--color-secondary);
    color: #fff;
    border-color: var(--color-secondary);
}

.secondary-btn a:hover {
    background: #fff;
    color: var(--color-secondary);
    border-color: var(--color-secondary);
}

.transparent-bg a {
    border-color: var(--color-primary);
    color: var(--color-primary);
    background: transparent;
}

.transparent-bg a svg path {
    fill: var(--color-primary);
}

.transparent-bg a:hover {
    border-color: var(--color-primary);
    color: #fff;
    background: var(--color-primary);
}

.transparent-bg a:hover svg path {
    fill: #fff;
}

.white-bg a {
    border-color: var(--color-primary);
    color: var(--color-primary);
    background: transparent;
}

.white-bg a svg path {
    fill: var(--color-primary);
}

.white-bg a:hover {
    border-color: var(--color-primary);
    color: #fff;
    background: var(--color-primary);
}

.white-bg a:hover svg path {
    fill: #fff;
}

.section--title {
    color: var(--color-primary);
}

.text-color--white .section--title {
    color: #fff;
}

.font-16 {
    font-size: 1.6rem;
}

.padded-image {
    position: relative;
    padding-top: 100%;

}

.padded-image img {
    position: absolute;
    top: 0;
    left: 0;
    object-fit: cover;
    height: 100%;
}

.content--subtitle {
    text-transform: uppercase;
    font-family: var(--font-title);
    color: var(--color-secondary);
}

@media screen and (max-width: 1380px) {
    .content--button a {
        padding: 1.5rem 2rem;
    }

    h2 {
        font-size: 4rem;
    }
}

@media screen and (max-width: 991px) {
    body {
        font-size: 1.6rem;
    }

    h2 {
        font-size: 3rem;
    }
}

@media screen and (max-width: 767px) {
    .content__wrapper.grid {
        grid-template-columns: 1fr;
    }
}

@media screen and (max-width: 667px) {
    .container {
        padding: 0 3rem;
    }


}

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


.header {
    background-color: var(--color-primary);
    padding: 20px 0;
    position: fixed;
    width: 100%;
    z-index: 999;
    transition: 0.3s padding ease;
    -ms-transition: 0.3s padding ease;
    -webkit-transition: 0.3s padding ease;
    -o-transition: 0.3s padding ease;
    -moz-transition: 0.3s padding ease;
}


.home header.header {
    background-image: linear-gradient(to top, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.5));
    background-color: transparent;
}

header .header--logo {
    max-width: 150px;
    transition: 0.3s all ease;
    -ms-transition: 0.3s all ease;
    -webkit-transition: 0.3s all ease;
    -o-transition: 0.3s all ease;
    -moz-transition: 0.3s all ease;
}

.home header.header.sticky,
.header.sticky {
    background: rgba(41, 100, 106, 1);
    padding: 10px 0;
    transition: 0.3s padding ease;
    -ms-transition: 0.3s padding ease;
    -webkit-transition: 0.3s padding ease;
    -o-transition: 0.3s padding ease;
    -moz-transition: 0.3s padding ease;
}

.header.sticky .header--logo {
    max-width: 120px;
    transition: 0.3s all ease;
    -ms-transition: 0.3s all ease;
    -webkit-transition: 0.3s all ease;
    -o-transition: 0.3s all ease;
    -moz-transition: 0.3s all ease;
}

header .header-menu ul {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: -moz-flex;
    display: -o-flex;
    display: flex;
    align-items: center;
    gap: 3.2rem;
}

header .header-menu ul li {
    list-style: none;

}

header .header-menu ul li a {
    font-size: 1.5rem;
    color: #fff;
    text-decoration: none;
    text-transform: uppercase;
    font-family: var(--font-title);
}

.header--grid {
    grid-template-columns: auto 1fr;
}


.floating-menu {
    background: var(--color-primary);
    position: fixed;
    top: 0;
    z-index: 999;
    padding: 3rem;
    height: 100vh;
    width: 30rem;
    left: -30rem;
    transition: 0.3s all ease;
    -ms-transition: 0.3s all ease;
    -webkit-transition: 0.3s all ease;
    -o-transition: 0.3s all ease;
    -moz-transition: 0.3s all ease;
}

.header.active-menu .floating-menu {
    left: 0;
    transition: 0.3s all ease;
    -ms-transition: 0.3s all ease;
    -webkit-transition: 0.3s all ease;
    -o-transition: 0.3s all ease;
    -moz-transition: 0.3s all ease;

}

.floating-menu ul li {
    list-style: none;
    margin: 2rem 0;
}

.floating-menu a {
    text-decoration: none;
    color: #fff;
    font-size: 2.1rem;
}

.burger-menu {
    display: none;
}

.burger-menu .bm--inner {
    width: 24px;
    height: 15px;
}

.burger-menu span {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: #fff;
    transition: 0.3s all ease;
    -ms-transition: 0.3s all ease;
    -webkit-transition: 0.3s all ease;
    -o-transition: 0.3s all ease;
    -moz-transition: 0.3s all ease;
}

.burger-menu span:nth-child(2) {
    top: 7px;
}

.burger-menu span:nth-child(3) {
    top: 14px;
}

.burger-menu.active span:nth-child(1) {
    rotate: 45deg;
    top: 7px;

}

.burger-menu.active span:nth-child(2) {
    opacity: 0;
}

.burger-menu.active span:nth-child(3) {
    rotate: -45deg;
    top: 7px;
}

@media screen and (max-width: 991px) {
    .burger-menu {
        display: block;
    }

    .header .header-menu {
        display: none;
    }
}




.hero-banner {
    background: #29646A;
}

.hero-banner h1 {
    font-weight: 500;
    letter-spacing: 3px;
    text-shadow: 0 2px 30px rgba(0, 0, 0, 0.4);
}

.hero-banner .video-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.hero-banner .video-bg video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    -o-object-fit: cover;
    -webkit-object-fit: cover;
    -moz-object-fit: cover;
    -ms-object-fit: cover;
}

.hero-banner p {
    font-size: 2rem;
    font-weight: 500;
}

.hero-banner .content--button a {
    box-shadow: 0 2px 30px rgba(0, 0, 0, 0.4);
}


@media screen and (max-width: 1380px) {
    .hero-banner h1 {
        margin-bottom: 2rem;
        font-size: 5.5rem;
    }
}

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

    .hero-banner {
        height: unset;
        padding-top: 15rem;
    }

    .hero-banner p {
        font-size: 1.6rem;
    }

}

@media screen and (max-width: 991px) {
    .hero-banner h1 {
        font-size: 3.2rem;
    }

}




/* REGULAR CONTENT */
.regular-content {
    background: var(--color-accent);
}

.regular-content .content--image {
    border-radius: 2rem;
    -ms-border-radius: 2rem;
    -webkit-border-radius: 2rem;
    -moz-border-radius: 2rem;
    -o-border-radius: 2rem;
    overflow: hidden;
}

/* WOW JS CSS */
/* Hide all .wow elements until they're animated */
.wow {
    visibility: hidden;
}

/* When WOW.js triggers animation */
.wow.animate__animated {
    visibility: visible;
}

@keyframes fadeInUpShort {
    from {
        opacity: 0;
        transform: translate3d(0, 30px, 0);
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

.animate__fadeInUpShort {
    animation-name: fadeInUpShort;
}

/* MASSAGE SERVICES SECTION */
.services-grid {
    background: var(--color-secondary);
}

.services-grid .content--wrapper {
    max-width: 70rem;
}

.services-grid .content--image {
    max-width: 7rem;
}

.services-grid h2 {
    color: var(--color-accent-3);
}

.services-grid .content--link a {
    font-family: var(--font-title);
    text-decoration: none;
    color: #fff;
    font-size: 1.7rem;
    font-weight: 700;
}

.services-grid .content--link svg {
    max-width: 20px;
}

.services-grid .content--link svg path {
    stroke: #fff;
}

.white-popup {
    position: relative;
    background: #fff;
    padding: 30px;
    width: 70rem;
    max-width: 100%;
    margin: 0 auto;
    border-radius: 8px;
    text-align: left;
}

.white-popup h2 {
    color: var(--color-primary);
}


@media screen and (max-width: 1360px) {
    .services--wrapper {
        grid-template-columns: 1fr 1fr 1fr;
    }
}

@media screen and (max-width: 991px) {
    .services--wrapper {
        grid-template-columns: 1fr 1fr;
    }
}

@media screen and (max-width: 767px) {
    .services--wrapper {
        grid-template-columns: 1fr;
    }
}





/* GIFT CARD SECTION */

.gift-cards .gc--each {
    flex: 0 0 33.333%;
    -ms-flex: 0 0 33.333%;
    -webkit-flex: 0 0 33.333%;
    -moz-flex: 0 0 33.333%;
    -o-flex: 0 0 33.333%;
    max-width: 33.333%;
    padding: 1rem;
}


.gift-cards .gc--title a {
    color: var(--color-primary);
    font-size: 1.9rem;
    text-decoration: none;
}


.gift-cards .gc--price a {
    font-size: 14px;
    font-family: monospace;
    text-decoration: none;
    color: var(--color-secondary);
}

.gift-cards .gc--price a:hover {
    color: var(--color-primary);
}

.gift-cards .gc--btn {
    padding: 1.2rem 1.9rem;
    background: var(--color-secondary);
    color: #fff;
    font-family: var(--font-title);
    border-radius: 8px;
    -ms-border-radius: 8px;
    -webkit-border-radius: 8px;
    -moz-border-radius: 8px;
    -o-border-radius: 8px;
    text-decoration: none;
    text-transform: uppercase;
}

.gift-cards .gc--btn:hover {
    background-color: var(--color-accent-3);
}

@media screen and (max-width: 991px) {
    .gift-cards .gc--each {
        flex: 0 0 50%;
        -ms-flex: 0 0 50%;
        -webkit-flex: 0 0 50%;
        -moz-flex: 0 0 50%;
        -o-flex: 0 0 50%;
        max-width: 50%;
    }
}

@media screen and (max-width: 767px) {
    .gift-card--wrapper {
        max-width: 35rem;
        margin: auto;
    }

    .gift-cards .gc--each {
        flex: 0 0 100%;
        -ms-flex: 0 0 100%;
        -webkit-flex: 0 0 100%;
        -moz-flex: 0 0 100%;
        -o-flex: 0 0 100%;
        max-width: 100%;
    }
}

.tables-section {
    background: var(--color-accent);
}

.tables-section table {
    max-width: 90rem;
    margin: auto;
    width: 100%;
}



.tables-section table tr td {
    padding: 1rem 2rem;
    background: var(--color-accent-2);
    font-size: 1.9rem;
    color: var(--font-color);
    font-family: var(--font-body);
    text-align: center;
}


.tables-section table tr td:first-child {
    font-size: 2.8rem;
    color: var(--color-secondary);
    font-family: var(--font-title);
    text-align: left;
    font-weight: 700;
    text-transform: uppercase;
}


.tables-section table tr:first-child td {
    font-size: 2.1rem;
    text-align: left;
    background: var(--color-primary);
    color: #fff;
    font-family: var(--font-title);
    text-transform: uppercase;
}



.tables-section table tr.highlight td {
    color: #fff;
    background: var(--color-secondary);
    font-weight: 700;
}

.table-responsive {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    /* smooth scroll on iOS */
}

/* WebKit scrollbar styling */
.table-responsive::-webkit-scrollbar {
    height: 10px;
    /* horizontal scrollbar height */
}

.table-responsive::-webkit-scrollbar-track {
    background: #f0f0f0;
    border-radius: 4px;
}

.table-responsive::-webkit-scrollbar-thumb {
    background-color: var(--color-primary);
    border-radius: 4px;
    border: 2px solid transparent;
    background-clip: content-box;
}

.table-responsive table {
    width: max-content;
    min-width: 100%;
    border-collapse: collapse;
}

@media screen and (max-width: 991px) {
    .tables-section table tr td:first-child {
        font-size: 1.8rem;
    }
}


/* THERAPISTS GRID */

.therapists-grid {
    background: var(--color-accent);
}

.therapists--each h3 {
    color: var(--color-secondary);
}

.therapists--inner {
    padding: 3rem 4rem 4rem 4rem;
    background: #fff;
    box-shadow: 0 0 30px rgba(0, 0, 0, 0.2);
    margin-bottom: 20px;
    border-radius: 20px;
    -webkit-border-radius: 20px;
}


.therapists--each .content--position {
    font-family: var(--font-title);
    font-size: 1.8rem;
    color: #242457;
    text-transform: uppercase;
}

.therapists--each .content--availability {
    color: var(--color-primary);
    text-transform: uppercase;
    font-weight: 700;

}

.therapists--each .therapists--content {
    font-size: 1.4rem;
    display: none;
}

.therapists--each .content--arrow {
    position: absolute;
    top: 4rem;
    height: 18px;
    width: 18px;
    right: 3rem;
}

.therapists--each.active .content--arrow {
    -webkit-transform: rotate(180deg);
    -moz-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    -o-transform: rotate(180deg);
    transform: rotate(180deg);

}

@media screen and (max-width: 991px) {
    .therapists--wrapper {
        grid-template-columns: 1fr 1fr;
    }
}

@media screen and (max-width: 767px) {
    .therapists--wrapper {
        grid-template-columns: 1fr;
        gap: 1rem;
    }
}

/* LOCATION MAP */
.location-map {
    background-color: var(--color-accent-3);
}

.location-map .content--title {
    color: var(--color-primary);
}

.location--each {
    background: var(--color-accent);
    border-radius: 2rem;
    -ms-border-radius: 2rem;
    -webkit-border-radius: 2rem;
    -moz-border-radius: 2rem;
    -o-border-radius: 2rem;
    overflow: hidden;
    margin-bottom: 4rem;
}

.location--each:last-child {
    margin-bottom: 0;
}

.location-map-embed {
    position: relative;
    height: 55rem;
}

.location--each iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    object-fit: cover;
    top: 0;
    left: 0;
}

.location-map .reverse .col--1 {
    order: 2;
}

.location--each .content--wrapper {
    padding: 6rem;
}

.location--each .lm--item a {
    color: var(--color-secondary);
    text-decoration: none;
}

.location-map .lm--item {
    grid-template-columns: 4rem auto;
    margin-bottom: 2rem;
}

.location-map .lm--item svg {
    width: 100%;
}

@media screen and (max-width: 991px) {
    .location--each .content--wrapper {
        padding: 4rem;
    }


}

@media screen and (max-width: 767px) {
    .location-map .location--inner {
        grid-template-columns: 1fr;
    }
}

/* CONTACT FORM SECTION  */
.contact-form-section {
    background: var(--color-secondary);
}

.contact-form-section .content--subtitle,
.contact-form-section h2 {
    color: var(--color-accent-3);
}

.contact-form-section .content--wrapper {
    max-width: 72rem;
    margin: auto;
}


.contact-form-section .gform-theme--foundation .gform_fields {
    row-gap: 3rem !important;
}

.contact-form-section .gfield_label {
    font-size: 1.7rem !important;
    color: #fff !important;
    margin-bottom: .8rem;
    font-weight: 400 !important;
}


.contact-form-section .contact-form--wrapper .gform-body .gfield textarea,
.contact-form-section .contact-form--wrapper .gform-body .gfield input {
    background: #da9b8c;
    padding: 1.8rem 2.2rem 1.4rem;
    width: 100%;
    border: none;
    border-radius: 8px;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
    color: #fff;
}

.contact-form-section .contact-form--wrapper .gform-body .gfield textarea:focus,
.contact-form-section .contact-form--wrapper .gform-body .gfield input:focus {
    background: #fff;
    color: var(--color-primary);
    border: none;
    outline: none
}

.contact-form-section .contact-form--wrapper .gform-footer input.gform_button {
    padding: 10px 16px !important;
    font-size: 1.4rem !important;
    background: var(--color-primary) !important;
    color: #fff;
    border-radius: .3rem;
    -ms-border-radius: .3rem;
    -webkit-border-radius: .3rem;
    -moz-border-radius: .3rem;
    -o-border-radius: .3rem;
    border: none;
    outline: none !important;
}

.contact-form-section .contact-form--wrapper .gform-footer input.gform_button:hover {
    background: #fff !important;
    color: var(--color-primary) !important;
    border: none;
    outline: none;
}

/* TEST ONLY SECTION */
.text-only {
    background: var(--color-accent);
}

.text-only h1 {
    font-size: 7rem;
    font-weight: 700;
    color: var(--color-primary);
    margin-bottom: 1rem;
}

.text-only .content--text ul {
    padding-left: 2rem;
    padding-bottom: 2rem;
}

.text-only .content--text ul li {
    list-style: none;
}

.text-only .content--text a {
    text-decoration: none;
    color: var(--color-secondary);
}

/* FLOATING BAND */
.floating-band {
    background: var(--color-secondary);
    padding: 1rem;
    position: fixed;
    bottom: 0;
    width: 100%;
    z-index: 99;
    box-shadow: 0 0 30px rgba(0, 0, 0, 0.1);
}

.floating-band p {
    font-family: var(--font-title);
    color: var(--color-accent-3);
    font-size: 2.1rem;
    text-transform: uppercase;
    font-weight: 700;
}

.floating-band .content--button a {
    padding: 14px 22px;
    font-size: 1.4rem;
    font-weight: 700;
}

.floating-band .content--button a:hover {
    border: 2px solid #fff;
}

footer {
    background: var(--color-primary);
    padding: 8rem 0;
}

.footer--logo {
    max-width: 20rem;
}

footer ul li {
    list-style: none;
}


.footer-subtitle {
    color: var(--color-secondary)
}

.footer--siteinfo a {
    color: #fff;
    text-decoration: none;
}


.footer--grid {
    grid-template-columns: 60% auto auto;
}

footer .site-address {
    font-size: 1.5rem;
}


.footer--bottom ul li a,
.footer--bottom {
    font-size: 1.2rem;
    color: #abafb3;
}

.footer--bottom ul li a {
    padding: 0 1rem;
    text-decoration: none;
    border-right: 1px solid #abafb3;
}

.footer--bottom ul li:last-child a {
    border: none;
}


@media screen and (max-width: 991px) {
    .footer--grid {
        grid-template-columns: 1fr 1fr;
    }

    .footer--bottom {
        padding-top: 4rem;
    }

    .footer--bottom ul li a {
        padding: 1rem 0;
        border-right: 1px solid transparent;
    }

    .footer--bottom .fb--wrapper {
        flex-wrap: wrap;
    }

    .footer--bottom .fb--wrapper>div {
        flex: 0 0 100%;
        -ms-flex: 0 0 100%;
        -webkit-flex: 0 0 100%;
        -moz-flex: 0 0 100%;
        -o-flex: 0 0 100%;
        max-width: 100%;
    }

    .footer--bottom .fb--wrapper .col--2 ul {
        display: block;
    }

    .footer--bottom .col--1 {
        order: 2;
    }
}

@media screen and (max-width: 767px) {
    .footer--grid {
        grid-template-columns: 1fr;
    }
}

.woocommerce-order-received h2.woocommerce-order-details__title,
.woocommerce-order-received .woocommerce-column__title {
    font-size: 25px;
    margin-bottom: 26px;
}

.woocommerce-order-received .woocommerce-table__product-name a {
    color: #cf826e;
}