body,
html {
    font-family: Comfortaa, sans-serif
}

html {
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch
}

a:active,
a:link,
a:visited {
    color: #ec008c;
    opacity: 1
}

a:hover {
    opacity: .8;
    text-decoration: underline
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: Comfortaa, sans-serif;
    font-weight: 700;
    text-transform: uppercase
}

.page-section {
    padding-top: 4rem;
    padding-bottom: 4rem
}

.page-section-top {
    padding-top: 4rem
}

.page-section-bottom {
    padding-bottom: 4rem
}

.page-small-section {
    padding-top: 2rem;
    padding-bottom: 2rem
}

.page-small-section-top {
    padding-top: 2rem
}

.page-small-section-bottom {
    padding-bottom: 2rem
}

.tspa-btn,
.tspa-btn:active,
.tspa-btn:link,
.tspa-btn:visited {
    display: inline-block;
    border-radius: 0;
    background-color: #ec008c;
    border: 2px solid #ec008c;
    color: #fff;
    font-family: Teko, sans-serif;
    text-transform: uppercase;
    font-size: 27px;
    padding: 9px 30px 6px 30px;
    line-height: 1;
    height: auto;
    font-weight: 400;
    text-align: center;
    min-width: 175px
}

.tspa-btn:hover {
    color: #ec008c !important;
    background-color: #fff;
    text-decoration: none;
    border-color: #ec008c;
    opacity: 1
}

.tspa-btn-reverse {
    color: #ec008c;
    background-color: #fff
}

.tspa-btn-reverse:hover {
    color: #fff;
    background-color: #ec008c;
    text-decoration: none
}

.tspa-btn-b,
.tspa-btn-b:active,
.tspa-btn-b:link,
.tspa-btn-b:visited {
    display: inline-block;
    border-radius: 0;
    background-color: #00aeef;
    border: 2px solid #00aeef;
    color: #fff;
    font-family: Teko, sans-serif;
    text-transform: uppercase;
    font-size: 27px;
    padding: 9px 30px 6px 30px;
    line-height: 1;
    height: auto;
    font-weight: 400;
    text-align: center;
    min-width: 175px
}

.tspa-btn-b:hover {
    color: #00aeef !important;
    background-color: #fff;
    text-decoration: none;
    border-color: #00aeef;
    opacity: 1
}

.hide-this {
    display: none !important;
    visibility: hidden !important
}

.delay-p2s {
    animation-delay: .2s
}

@keyframes sloganin {
    0% {
        filter: blur(64px) opacity(0);
        transform: scale(3)
    }

    100% {
        filter: blur(0) opacity(1);
        transform: scale(1)
    }
}

.esi-header {
    border: 0;
    background-color: transparent;
    backdrop-filter: none;
    box-shadow: none
}

.esi-header-tspa .esi-header-ctnr .esi-c-schoolname {
    padding-top: 3rem;
    padding-bottom: 3rem;
    transition: padding .2s ease
}

.esi-header .esi-header-ctnr .esi-c-links.esi-sociallinks-icon * {
    color: #fff;
    text-shadow: 0 0 30px rgba(0, 0, 0, .75)
}

.page-on-scrolling .esi-header .esi-header-ctnr .esi-c-links.esi-sociallinks-icon * {
    color: #000
}

.esi-hero.esi-a-home .esi-hero-ctnr h1 {
    margin: 0;
    padding: 33.33% 0 16.66% 0;
    border: 0
}

.esi-hero.esi-a-home .esi-hero-ctnr h1 span {
    width: 100%;
    text-align: center;
    opacity: 1;
    text-shadow: 0 0 6px #0000004d
}

.esi-hero.esi-a-home .esi-hero-ctnr h1::before {
    content: '';
    display: none;
    max-width: 100vw;
    min-height: 20vw;
    background-image: url(images/home-banner-slogan.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    filter: blur(0) opacity(1);
    animation: sloganin .7s ease
}

.page-on-scrolling .esi-header {
    border: 0;
    backdrop-filter: blur(10px);
    background-color: rgba(255, 255, 255, .9);
    box-shadow: 0 4px 8px rgba(0, 0, 0, .15)
}

.page-on-scrolling .esi-header .esi-header-ctnr {
    padding-top: 0;
    padding-bottom: 0
}

.page-on-scrolling .esi-header-tspa .esi-header-ctnr .esi-c-schoolname {
    padding-top: .75rem;
    padding-bottom: .5rem
}

.esi-header .esi-header-ctnr .esi-c-links.esi-sociallinks-icon {
    display: flex;
    justify-content: center;
    flex-direction: column;
    height: 70px
}

.esi-header-ctnr {
    position: relative
}

.esi-c-schoolname {
    position: absolute;
    top: 0;
    left: 0
}

.esi-header.esi-header-tspa .esi-header-ctnr .esi-c-schoolname .esi-c-logo,
.esi-schoolname-dark .esi-c-logo {
    background-position: center;
    background-size: contain;
    background-image: url(images/tspa-logo.svg)
}

.esi-schoolname-dark .esi-c-logo {
    background-color: #000;
    width: 200px;
    height: 100px;
    background-size: 90%
}

.esi-c-schoolname .esi-c-campus {
    background-image: radial-gradient(50% 50% at 50% 50%, #828282 0, rgba(51, 51, 51, 0) 100%)
}

.esi-schoolname-dark .esi-c-campus {
    font-size: 1rem
}

.esi-hero {
    border: 0
}

.esi-hero.esi-a-home .esi-hero-ctnr {
    padding-top: 0
}

.esi-title-topline-u {
    text-transform: none;
    font-size: 16px
}

.esi-c-subtitle::before,
.esi-title-topline-u::before {
    display: none !important
}

.esi-form-slogan {
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 2rem;
    padding: 0 .5rem;
    font-family: Comfortaa, sans-serif;
    font-weight: 700;
    font-size: 28px;
    color: #00aeef
}

#esifn-fullpage {
    overflow: hidden
}

.tspa-home-polyline {
    background: 0 0;
    margin-top: 0vw;
    pointer-events: none;
    padding-top: 10vw;
    width: 100vw;
    height: 44.1vw;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center
}

.tspa-home-polyline .esi-home-loreal-logo {
    margin: 5vw 0 0 0;
    z-index: 9
}

.esi-programlist-ctnr {
    background-color: #fff;
    backdrop-filter: none;
    border-radius: 0;
    display: flex;
    flex-direction: column;
    position: relative;
    align-items: center;
    padding: 0
}

.esi-programlist-ctnr::after,
.esi-programlist-ctnr::before {
    content: "";
    position: absolute;
    width: 150px;
    height: 20px;
    background: url(images/programlist-box-deco.svg) no-repeat center;
    background-size: cover
}

.esi-programlist-ctnr::before {
    top: -20px
}

.esi-programlist-ctnr::after {
    bottom: -20px;
    transform: rotate(180deg)
}

.esi-page-section-full .tspa-sections-c-box,
.tspa-sections-c-box {
    padding: 0;
    border-radius: 0;
    display: flex;
    flex-direction: column;
    position: relative;
    align-items: center;
    background: rgba(0, 0, 0, .7);
    backdrop-filter: blur(5px);
    color: #fff
}

.tspa-sections-c-box::after,
.tspa-sections-c-box::before {
    content: "";
    position: absolute;
    width: 150px;
    height: 20px;
    background: url(images/panelt-box-deco.svg) no-repeat center;
    background-size: cover;
    opacity: .7
}

.tspa-sections-c-box::before {
    top: -20px
}

.tspa-sections-c-box::after {
    bottom: -20px;
    transform: rotate(180deg)
}

.tspa-sections-c-wrap {
    padding: 3rem
}

.esi-desktop-footer-cta.tspa-sections-c-box {
    padding: 3rem 2rem
}

.esi-programlist {
    width: 100%;
    padding: 3rem 2rem
}

.esi-programlist .esi-c-title,
.esi-programlist h3,
.esi-title-topline-u,
.tspa-menu-social h3 {
    font-family: Comfortaa, sans-serif;
    font-size: 32px;
    font-weight: 400
}

.esi-programlist .esi-c-title::before,
.esi-programlist h3::before {
    display: none
}

.esi-programlist ul li {
    padding: 0
}

.esi-programlist ul a {
    padding: 1rem 0;
    display: inline-block;
    width: 100%;
    font-family: Comfortaa, sans-serif
}

.esi-programlist ul a:hover {
    text-decoration: none
}

.esi-programlist ul li {
    transition: padding .5s, color .5s;
    overflow-x: hidden
}

.esi-programlist ul li::after {
    transition: margin-right .5s;
    z-index: 0;
    pointer-events: none
}

.esi-page-section .esi-programlist ul li:hover {
    padding-left: 1rem
}

.esi-programlist ul li:hover::after {
    margin-right: -2rem
}

.esi-hero.esi-a-home .esi-c-formctnr .esi-title-topline-u {
    padding: 0 .5rem
}

.esi-stickyfooter {
    border-radius: 0;
    background: rgba(255, 255, 255, .7);
    box-shadow: 0 7px 24px rgba(0, 0, 0, .25);
    backdrop-filter: blur(10px);
    transition: bottom 1s ease
}

.stickyout {
    bottom: -100px
}

.esi-list-largeiconbtn {
    display: flex;
    align-items: center
}

.esi-stickyfooter .esi-btn-largeicon .esi-c-text {
    font-family: Teko, sans-serif;
    font-size: 20px;
    line-height: 1;
    display: flex;
    color: #fff;
    align-items: center;
    text-align: center;
    letter-spacing: 1px;
    text-transform: uppercase;
    border-radius: 0;
    background-color: #000;
    border-color: #000;
    height: 40px;
    padding: 12px 24px 8px 24px
}

.esi-stickyfooter .esi-btn-largeicon .esi-c-text:hover {
    background-color: #ec008c;
    border-color: #ec008c;
    color: #fff
}

.esi-curvebg-golden-b {
    min-height: 33.33vh
}

.esi-page-section.esi-a-redken {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, .5) 100%);
    background-color: transparent
}

.esi-page-section.esi-a-redken .esi-page-section-ctnr {
    background: url(images/esi-home-loreal-model-v2.webp) right top no-repeat;
    background-size: 50%;
    overflow-y: hidden;
    background-attachment: fixed
}

.esi-page-section-full {
    height: 100vh;
    padding-top: 25vw
}

.esi-page-section-full .esi-c-box {
    margin-top: 0
}

.esi-desktop-footer-cta h3::before,
.esi-page-section-full .esi-c-box h3::before,
.esi-page-section.esi-a-salon .esi-page-section-ctnr h2::before {
    display: none
}

.esi-list-largeiconbtn-white li .esi-c-icon {
    margin-bottom: 2rem
}

.esi-list-largeiconbtn-white li a:hover {
    opacity: 1
}

.esi-list-largeiconbtn-white li .esi-c-text {
    border-radius: 0;
    background-color: #00aeef;
    border-color: #00aeef;
    font-family: Teko, sans-serif;
    text-transform: uppercase;
    font-size: 27px;
    padding: 9px 30px 6px 30px;
    line-height: 1;
    height: auto;
    font-weight: 400
}

.esi-list-largeiconbtn-white li .esi-c-text:hover,
.esi-list-largeiconbtn-white li:hover a .esi-c-text {
    background-color: #fff;
    color: #00aeef;
    border-color: #fff
}

.tspa-c-icon-1,
.tspa-c-icon-2,
.tspa-c-icon-3,
.tspa-c-icon-4 {
    width: 48px;
    height: 48px;
    display: block;
    margin: 0 auto;
    background-repeat: no-repeat;
    background-size: 100%
}

.tspa-c-icon-1 {
    background-image: url(images/icon-envlope.svg)
}

.tspa-c-icon-2 {
    background-image: url(images/icon-tour.svg)
}

.tspa-c-icon-3 {
    background-image: url(images/icon-phone.svg)
}

.tspa-c-icon-4 {
    background-image: url(images/icon-comment.svg)
}

.esifn-popup-trigger {
    cursor: pointer
}

.esi-desktop-footer .esi-programlist {
    padding: 0 1rem 0 0
}

.esi-desktop-footer .esi-programlist ul {
    font-size: 13px;
    line-height: 16px
}

.esi-desktop-footer .esi-programlist ul a {
    padding: .5rem 0
}

.esi-menu-desktop .esi-programlist h3,
.esi-title-topline-u,
.tspa-menu-social h3 {
    font-weight: 700;
    margin-bottom: 1.5rem
}

.esi-menu-desktop .esi-c-left {
    padding: 0 4% 4% 0
}

.esi-menu-desktop .esi-c-right {
    padding: 0 0 0 4%
}

.esi-popuplayer .esi-menu-desktop .esi-c-left {
    padding: 0 4%
}

.esi-popuplayer .esi-menu-desktop .esi-c-right {
    padding: 0 4%
}

.esi-title-topline-u,
.tspa-menu-social h3 {
    text-transform: uppercase;
    font-size: 1rem
}

.esi-sociallinks-circlebtn a {
    margin: 0;
    background-color: #fff;
    border-radius: 0;
    font-size: 2rem;
    margin-left: 0;
    margin-right: 1.25rem;
    width: auto
}

.esi-sociallinks-circlebtn i {
    color: #000
}

.esi-sociallinks-circlebtn a:hover i {
    color: #ec008c
}

.esi-menu-desktop .esi-c-phone-ctnr {
    border: 0;
    display: flex;
    align-items: flex-start;
    justify-content: space-between
}

.esi-menu-desktop .esi-c-phone-ctnr::after,
.esi-menu-desktop .esi-c-phone-ctnr::before {
    display: none
}

.esi-menu .esi-c-sociallinks {
    margin-top: 0
}

.esi-schoolname-dark {
    display: flex;
    align-items: flex-end
}

.esi-schoolname-dark .esi-c-campus {
    padding: .5rem 1rem
}

.esi-c-back {
    font-size: 24px;
    font-family: Comfortaa, sans-serif;
    text-transform: uppercase;
    display: flex;
    justify-content: space-between
}

.esi-menu .esi-c-back i {
    margin-right: 1rem
}

.esi-menu.esi-a-show,
.esi-socialpreview.esi-a-show {
    left: 0
}

.esi-popupanchor .esi-programlist ul a {
    font-size: 14px;
    padding: .75rem 0
}

.esi-desktop-footer {
    border-top: 1px solid #aabdbd
}

.esi-popupform {
    border: 0;
    background: linear-gradient(180deg, #dcdede 50%, #dcdede 100%)
}

.esi-popupform * {
    color: #212121
}

.esi-popupform h2 {
    color: #ec008c;
    font-family: Comfortaa, sans-serif
}

/* .esi-socialpreview .esi-c-popupctnr {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 18rem, #fff 300rem), url(images/tspa-page-socialmedia-bg.jpg) top left no-repeat, url(images/SPECD1_0103HRc-bg.png) top left repeat-x;
    background-size: 60%;
    background-attachment: fixed
} */

.esi-hero.esi-a-home .esi-hero-ctnr {
    padding-bottom: 0;
    height: auto
}

.esi-hero.esi-a-home .esi-hero-ctnr .esi-c-formctnr {
    backdrop-filter: blur(10px);
    border-radius: 0;
    padding: 3rem 3rem;
    margin: 0 auto
}

.esi-hero.esi-a-home {
    background-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 75%, rgba(0, 0, 0, 1) 95%), url(images/tspa-hero-2023-mb.webp)
}

@media (min-width: 992px) {
    .esi-hero.esi-a-home {
        background-image: url(images/tspa-hero-2023-dt.webp);
        background-repeat: no-repeat;
        background-attachment: fixed;
        background-position: top center;
        background-color: #959e9e;
        background-size: cover
    }
}
.esi-desktop-footer-cta h3,
.esi-page-section-full .esi-c-box h3 {
    font-size: 2.25rem;
    line-height: 1.2;
    color: #00aeef;
    text-transform: none
}

.esi-page-section-full .esi-c-box h3 {
    margin-bottom: 1rem
}

.esi-desktop-footer-cta h3 {
    margin-bottom: 2rem
}

.esi-page-section-full .esi-c-box .esi-c-content {
    display: block
}

.esi-page-section-full.esi-a-salon1 .esi-c-box {
    margin-top: -10vh
}

.esi-page-section-full.esi-a-salon2 .esi-c-box {
    margin-top: 0
}

.esi-page-section-full.esi-a-salon2,
.esi-page-section-full.esi-a-salon4 {
    background-attachment: fixed
}

.esi-page-section-full.esi-a-salon5 {
    background-image: url(images/next-step-home-bg-desktop.webp), url(images/brick-wall.webp);
    background-color: #dcdede
}

.esi-list-largeiconbtn-white li {
    background: 0 0;
    backdrop-filter: none;
    padding-top: 0
}

.tspa-home-polyline-c {
    opacity: 0
}

.student-first-culture {
    background-image: url(images/home-slide-bg-dt.webp)
}

.student-first-culture h2 {
    font-size: 60px;
    font-weight: 400;
    line-height: 1;
    text-transform: uppercase;
    color: #ec008c;
    text-align: center;
    margin-top: 4rem;
    margin-bottom: 3.5rem
}

.esi-socialpreview h2::before {
    background: #ec008c
}

.esi-hero .esi-c-title,
.esi-hero h1 {
    font-family: Teko, sans-serif;
    font-size: 96px;
    text-transform: uppercase;
    line-height: 1;
    font-weight: 400
}

.page-template-default h3.esi-title-topline-u,
.tspa-title-program {
    font-size: 2rem;
    margin-bottom: 1.25rem;
    color: #00aeef
}

.single-programs .esi-title-topline-u {
    margin-bottom: 1rem;
    font-size: 21px
}

.esi-c-right .tspa-sections-c-box,
.esi-page-program .tspa-sections-c-box {
    background-color: #000;
    backdrop-filter: none
}

.esi-c-right .tspa-sections-c-box::after,
.esi-c-right .tspa-sections-c-box::before,
.esi-page-program .tspa-sections-c-box::after,
.esi-page-program .tspa-sections-c-box::before {
    opacity: 1
}

.tspa-sections-c-box h2 {
    font-size: 3rem;
    color: #00aeef
}

.tspa-sections-c-box .esi-c-notes {
    margin-bottom: 2rem
}

.esi-page-section.esi-a-nextstep-program-desktop .esi-page-section-ctnr {
    min-height: 60rem;
    background-color: #ccd1d4;
    background-position: center top, bottom center;
    background-repeat: no-repeat;
    background-image: url(images/next-step-img-bg-v2.webp), url(images/next-step-after-bg.svg), url(images/brick-wall.webp);
    background-size: cover;
    display: flex;
    align-items: flex-end;
    padding-bottom: 10rem;
    padding-top: 0
}

.single-programs .esi-page-section.esi-a-nextstep-program-desktop .esi-page-section-ctnr {
    background-image: url(images/next-step-img-bg-v2.webp), url(images/next-step-after-bg.svg), url(images/brick-wall.webp)
}

.esi-page-section.esi-a-nextstep-program-desktop .esi-page-section-ctnr h2 {
    font-family: Comfortaa, sans-serif
}

.esi-c-left .esi-programlist-ctnr .esi-programlist {
    padding: 3rem 0
}

.esi-c-left .esi-programlist-ctnr::after,
.esi-c-left .esi-programlist-ctnr::before {
    display: none
}

.esi-widget-2colinfo-dividertheme>* i[class^=fa] {
    color: #00aeef
}

.esi-widget-2colinfo-dividertheme>:last-child {
    border-color: #e0e0e0
}

.esi-menu-desktop .esi-programlist:last-child {
    padding-top: 0;
    width: 100%
}

.esi-hero.esi-a-blog {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, .2) 50%, rgba(0, 0, 0, .6) 100%), url(images/new-blog-desktop.jpg) center center no-repeat;
    background-size: cover
}

.esi-a-blog .esi-inputbox-dark-ctnr input[type=text] {
    background: rgba(0, 0, 0, .7)
}

.esi-a-blog .esi-inputbox-dark-ctnr.esi-a-search::before {
    color: #00aeef
}

.esi-a-blog .esi-inputbox-dark-ctnr input::placeholder {
    color: rgba(255, 255, 255, .75)
}

.esi-page-section.tspa-a-cyan {
    background: #00aeef;
    padding-left: 2rem;
    padding-right: 2rem;
    color: #fff
}

.esi-bloglist .esi-c-title::before,
.esi-bloglist h3::before {
    display: none
}

.esi-bloglist>ul li,
.esi-bloglist>ul li.esi-c-item {
    font-family: Comfortaa, sans-serif
}

.esi-bloglist>ul {
    padding-top: 2rem
}

.esi-a-general .esi-bloglist h3 {
    color: #00aeef;
    font-size: 2rem
}

.esi-a-general .esi-bloglist.esi-a-responsive>ul li>a {
    padding-right: 0 !important;
    font-size: 21px;
    margin-bottom: .5rem;
    max-height: none
}

.esi-a-general .esi-bloglist.esi-a-responsive>ul li>a::after {
    display: none
}

.tspa-btn-outline-bright {
    margin-top: 1rem;
    border-color: #f2c94c;
    font-family: Comfortaa, sans-serif
}

.tspa-btn-outline-bright span {
    color: #f2c94c
}

.tspa-btn-outline-bright:hover {
    background-color: #f2c94c;
    border-color: #f2c94c
}

.tspa-btn-outline-bright:hover span {
    color: #fff
}

.esi-hero.esi-a-singleblog {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, 0) 20%, rgba(0, 0, 0, 0) 60%), linear-gradient(180deg, #00aeef 85%, #fff 85%, #fff 100%);
    background-size: 100%
}

.esi-page-section.esi-a-thankyou {
    border-left: 0;
    padding-top: 4rem;
    background: url(images/next-step-after-bg.svg) bottom left no-repeat, url(/wp-content/themes/esi/images/esi-page-thankyou-model.png) bottom left no-repeat, linear-gradient(180deg, #dcdede 50%, #dcdede 100%);
    background-size: 100%, contain, 100%
}

.esi-page-section.esi-a-thankyou .esi-page-section-ctnr * {
    color: #212121
}

.esi-page-section.esi-a-thankyou .esi-page-section-ctnr h1 {
    color: #ec008c;
    font-family: Comfortaa, sans-serif
}

.esi-page-program .esi-c-detail .esi-c-hours .esi-c-breakdown div {
    padding: 0;
    border-left: 0
}

.esi-page-program .esi-c-detail .esi-c-hours .esi-c-breakdown>div {
    border-left: 1px solid #fff;
    padding: 1rem 0;
    display: block
}

.esi-page-program .esi-c-detail .esi-c-hours .esi-c-breakdown div strong {
    display: inline-block;
    min-width: 118px
}

.tspa-duration-hours {
    margin-right: 1rem
}

.tspa-duration-weeks.tspa-duration:not(:first-child) {
    border-left: 1px solid #ec008c !important;
    margin-left: 0 !important;
    padding-left: 1rem !important
}

.esi-page-program .esi-c-detail .esi-c-hours h4 {
    margin-bottom: .5rem
}

.esi-page-program .esi-c-detail ul.esi-startdate-list {
    padding-left: 1.25rem;
    margin-bottom: 2rem
}

.esi-page-program .esi-c-detail .esi-c-hours .esi-c-summary:first-child {
    border: 0
}

.esi-page-general {
    padding-top: 4rem;
    padding-bottom: 4rem
}

.esi-page-section.esi-a-salon .esi-page-section-ctnr h2 {
    color: #ec008c;
    font-family: Comfortaa, sans-serif
}

.flyout-content-wrap {
    min-height: 20rem;
    max-width: 640px;
    margin: 5rem auto 0 auto
}

.esi-a-blog .esi-c-searchbox {
    width: 33.33%
}

.esi-hero.esi-a-singleblog .esi-hero-ctnr .esi-c-header .esi-c-subtitle {
    display: block;
    font-size: 2rem
}

.esi-hero.esi-a-salon-service {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0, rgba(19, 17, 18, .2) 50%, rgba(111, 60, 93, .6) 100%), url(images/salon-services-v4.jpg) center center no-repeat !important
}

.esi-accordion .esi-c-item .esi-c-content p {
    margin-top: 0;
    padding-top: 1rem
}

.esi-accordion .esi-c-item .esi-c-title::after {
    content: '\f078';
    color: #ec008c;
    font-size: 14px
}

.esi-accordion .esi-c-item .esi-c-title.collapsed::after {
    content: '\f054';
    color: #ec008c;
    font-size: 14px
}

.esi-c-content.collapse p {
    margin-top: 1rem
}

.tspa-home-polyline {
    position: relative;
    display: flex;
    justify-content: center
}

.tspa-home-polyline-l {
    position: absolute;
    left: -100%;
    bottom: -5vw;
    height: 100vh;
    width: 100%;
    display: block;
    background: url(images/home-polylines-l.svg) no-repeat left bottom;
    background-size: cover
}

.tspa-home-polyline-r {
    position: absolute;
    right: -100%;
    bottom: -5vw;
    height: 100vh;
    width: 100%;
    display: block;
    background: url(images/home-polylines-r.svg) no-repeat right bottom;
    background-size: cover
}

.cl-tour-form {
    height: 640px
}

.cl-request-form {
    height: 600px
}

.esi-popupform.esi-a-show {
    left: 0
}

.flip-card {
    width: 100%;
    height: 100%;
    display: inline-block
}

.esi-owl-promotion p,
.flip-card p {
    margin: 0 !important
}

.flip-card .front {
    width: 100%;
    height: 100%;
    background-size: cover;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    background-repeat: no-repeat
}

.flip-card .front:hover::after {
    opacity: 1
}

.flip-card .front::after {
    content: '';
    display: block;
    opacity: .95;
    background: url("data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' width='100px' height='100px' viewBox='0 0 100 100' enable-background='new 0 0 100 100' xml:space='preserve'%3E%3ClinearGradient id='SVGID_1_' gradientUnits='userSpaceOnUse' x1='256.1348' y1='-245.1343' x2='355.5022' y2='-344.5017' gradientTransform='matrix(1 0 0 -1 -256 -245)'%3E%3Cstop offset='0' style='stop-color:%23D4D8D8'/%3E%3Cstop offset='0.3818' style='stop-color:%234A4A4A'/%3E%3Cstop offset='0.4303' style='stop-color:%23676767'/%3E%3Cstop offset='0.497' style='stop-color:%23141414'/%3E%3Cstop offset='0.5' style='stop-color:%23000000;stop-opacity:0.9'/%3E%3Cstop offset='0.5' style='stop-color:%23D3D3D3'/%3E%3Cstop offset='0.5455' style='stop-color:%23C8C8C8'/%3E%3Cstop offset='0.6182' style='stop-color:%23D8D8D8'/%3E%3C/linearGradient%3E%3Crect opacity='0.9' fill='url(%23SVGID_1_)' enable-background='new ' width='100' height='100'/%3E%3Cpath fill='%23EC008C' d='M46.29,70.103l9.455-12.752C67.043,70.85,70.626,85.532,64.13,94.276l13.028-17.537 c6.496-8.744,2.913-23.426-8.386-36.926l6.969-6.646C58.07,26.954,44.466,23.673,28.1,24.989 C43.419,44.414,44.565,64.348,46.29,70.103'/%3E%3C/svg%3E") no-repeat bottom right;
    background-size: contain;
    width: 85px;
    height: 85px;
    position: absolute;
    bottom: 0;
    right: 0
}

.flip-card .front-container {
    width: 100%;
    height: 100%
}

.flip-card .back {
    color: #fff
}

.flip-card .back-container {
    height: 100%
}

.esi-accordion.tspa-salon-pricelist .esi-c-item .esi-c-title {
    font-size: 1.375rem
}

.tspa-salon-pricelist ul {
    padding-left: 1rem;
    list-style: none
}

.tspa-salon-pricelist li {
    margin-bottom: .5rem
}

.tspa-salon-pricelist li span {
    font-weight: 700;
    margin-left: 1rem
}

.tspa-salon-pricelist em {
    margin-bottom: 1rem;
    display: inline-block
}

.owl-theme .owl-dots .owl-dot span {
    background-color: #000
}

.owl-theme .owl-dots .owl-dot.active span,
.owl-theme .owl-dots .owl-dot:hover span {
    background-color: #ec008c
}

.esi-owl-nav-vmiddle-inside .owl-nav button.owl-next span,
.esi-owl-nav-vmiddle-inside .owl-nav button.owl-prev span {
    color: #ec008c !important
}

.esi-page-section.esi-a-thankyou .col-md-8.col-md-offset-4 p {
    margin-bottom: 2rem
}

@media (max-width:991px) {
    .esi-owl-promotion .item .flip-card a {
        border: 0;
        border-radius: 0
    }

    .flip-card-1 .front {
        background-image: none
    }

    .flip-card .front::after {
        bottom: 30px;
        right: 15px
    }

    .flip-card .front a {
        pointer-events: none
    }

    .esi-owl-promotion .item .a {
        border: 0;
        border-radius: 0;
        display: block;
        margin: 1rem;
        margin-top: 2rem;
        margin-bottom: 2rem;
        box-shadow: 0 10px 15px rgba(0, 0, 0, .35);
        overflow: hidden
    }

    .page-section {
        padding-top: 2rem;
        padding-bottom: 2rem
    }

    .page-section-top {
        padding-top: 2rem
    }

    .page-section-bottom {
        padding-bottom: 2rem
    }

    .page-small-section {
        padding-top: 1rem;
        padding-bottom: 1rem
    }

    .page-small-section-top {
        padding-top: 1rem
    }

    .page-small-section-bottom {
        padding-bottom: 1rem
    }

    .esi-hero.esi-a-home .esi-hero-ctnr h1 {
        padding-top: 40vh;
        text-align: center
    }

    .esi-header.esi-header-tspa .esi-header-ctnr .esi-c-schoolname {
        margin-left: 1rem
    }

    .esi-header.esi-header-tspa .esi-header-ctnr .esi-c-schoolname .esi-c-logo {
        width: 120px
    }

    .esi-hero.esi-a-home .esi-hero-ctnr .esi-c-formctnr {
        backdrop-filter: none
    }

    .tspa-home-polyline {
        padding-top: 0;
        margin-top: 0;
        height: auto;
        background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, 0) 66%, rgba(0, 0, 0, 1) 67%, rgba(0, 0, 0, 1) 100%)
    }

    .tspa-home-polyline .esi-home-loreal-logo {
        max-width: 150px
    }

    .esi-home-form-mobile {
        padding-top: 3rem;
        background: #000
    }

    .esi-curvebg-golden-b,
    .esi-curvebg-golden-t {
        display: none
    }

    .esi-page-section.esi-a-redken .esi-page-section-ctnr {
        background-size: cover
    }

    .esi-page-section.esi-a-redken .esi-programlist-ctnr {
        margin-left: 1rem;
        margin-right: 1rem
    }

    .esi-page-section.esi-a-salon .esi-page-section-ctnr {
        padding-left: 1rem;
        padding-right: 1rem
    }

    .esi-home-feature-slider .item .esi-card-featurethumb {
        margin: 2rem 1rem;
        border: 0;
        border-radius: 0;
        padding-left: 0;
        padding-right: 0
    }

    .esi-card-featurethumb .esi-c-title {
        padding: 2rem;
        background: 0 0;
        margin-top: 18rem
    }

    .esi-a-salon.esi-mobile-only .esi-page-section-ctnr {
        background-image: url(images/home-slider-mb-bg.webp)
    }

    .esi-page-section.esi-a-nextstep-program-desktop .esi-page-section-ctnr {
        background-image: url(images/next-step-after-mb-bg.svg), url(images/next-step-img-bg-v2-m.webp), url(images/brick-wall.webp);
        background-position: bottom center, bottom right -12vw, center;
        background-size: contain, cover, cover;
        padding: 2rem 1rem;
        min-height: 100vh
    }

    .home .esi-page-section.esi-a-nextstep-program-desktop .esi-page-section-ctnr {
        background-image: url(images/next-step-after-mb-bg.svg), url(images/next-step-home-bg-mobile.webp), url(images/brick-wall.webp)
    }

    .single-programs .esi-page-section.esi-a-nextstep-program-desktop .esi-page-section-ctnr {
        background-image: url(images/next-step-after-mb-bg.svg), url(images/next-step-img-bg-v2-m.webp), url(images/brick-wall.webp)
    }

    .tspa-btn,
    .tspa-btn-b,
    .tspa-btn-b:active,
    .tspa-btn-b:link,
    .tspa-btn-b:visited,
    .tspa-btn:active,
    .tspa-btn:link,
    .tspa-btn:visited {
        padding: 9px 12px 6px 12px;
        min-width: 140px
    }

    .esi-c-btns {
        display: flex
    }

    .esi-mobile-footer {
        background: #dcdede
    }

    .esi-menu .esi-schoolname-white .esi-c-logo,
    .esi-mobile-footer .esi-c-logo {
        background: url(images/tspa-logo-dark.svg) top left no-repeat;
        height: 100px;
        background-size: contain
    }

    .esi-menu .esi-schoolname-white .esi-c-campus {
        color: #000
    }

    .esi-mobile-footer.esi-mobile-only * {
        color: #000
    }

    .esi-mobile-footer.esi-mobile-only .esifn-popup-trigger i {
        color: #fff
    }

    .esi-c-campus {
        text-align: center
    }

    .esi-hero .esi-c-title,
    .esi-hero h1 {
        font-size: 72px
    }

    .esi-btn-darkbg,
    .esi-btn-darkbg-theme {
        background-color: #ec008c;
        border-radius: 0
    }

    .esi-btn-darkbg-theme strong {
        text-transform: uppercase;
        font-family: Teko, sans-serif;
        font-size: 27px;
        font-weight: 400
    }

    .esi-mobile-footer .esi-c-btnlist .esi-btn-darkbg {
        background-color: #fff;
        border-radius: 0;
        text-decoration: none
    }

    .esi-mobile-footer .esi-c-btnlist .esi-btn-darkbg strong {
        text-transform: uppercase;
        color: #ec008c
    }

    .esi-sociallinks-circlebtn a {
        width: 50px;
        height: 50px;
        text-align: center;
        border-radius: 25px
    }

    .esi-mobile-footer.esi-mobile-only .esi-sociallinks-circlebtn a {
        background: #ec008c;
        color: #fff !important;
        line-height: 55px
    }

    .footer-credits-row a {
        font-size: 14px
    }

    .esi-mobile-footer a:active,
    .esi-mobile-footer a:hover,
    .esi-mobile-footer a:link,
    .esi-mobile-footer a:visited {
        color: #000;
        text-decoration: underline
    }

    .esi-stickyfooter .esi-btn-largeicon .esi-c-text {
        background-color: transparent;
        border-color: transparent;
        color: #000;
        padding: 3px 6px;
        height: auto;
        font-size: 1rem;
        letter-spacing: 0
    }

    .esi-list-largeiconbtn .esi-c-item .esi-c-icon,
    .esi-list-largeiconbtn li .esi-c-icon {
        font-size: 1.5rem;
        color: #00aeef;
        line-height: 1.5
    }

    .esi-list-largeiconbtn {
        justify-content: space-evenly
    }

    .esi-title-topline-u,
    .tspa-title-program {
        font-size: 1.75rem;
        line-height: 1.2
    }

    .esi-page-general-ctnr .esi-home-form-mobile {
        margin-left: -2rem;
        margin-right: -2rem
    }

    .esi-popupform h2 {
        font-size: 2.5rem
    }

    .flyout-content-wrap {
        margin: 2rem auto 0 auto
    }

    .esi-page-general {
        padding-bottom: 0
    }

    .esi-hero .esi-hero-ctnr {
        padding-left: 1rem;
        padding-right: 1rem
    }

    .esi-a-blog .esi-c-row {
        flex-direction: column
    }

    .esi-a-blog .esi-c-header {
        width: 100%
    }

    .esi-a-blog .esi-c-searchbox {
        width: 100%
    }

    .esi-a-general .esi-bloglist.esi-a-responsive>ul li>a {
        padding-right: 3rem !important
    }

    .esi-a-general .esi-bloglist.esi-a-responsive>ul li>a::after {
        display: block;
        font-size: 2rem;
        color: #f2c94c
    }

    .esi-a-general .esi-bloglist h3 {
        font-size: 1rem
    }

    .esi-bloglist>ul {
        padding-top: 0
    }

    .esi-programlist {
        margin-bottom: 0
    }

    .esi-hero.esi-a-singleblog .esi-hero-ctnr .esi-c-header .esi-c-subtitle {
        font-size: 1.5rem
    }

    .esi-hero.esi-a-singleblog .esi-hero-ctnr .esi-c-header h1 {
        font-size: 48px;
        line-height: .8;
        margin-top: 1rem
    }

    .esi-hero.esi-a-singleblog .esi-hero-ctnr .esi-c-header .esi-c-featuredimage {
        margin-left: -1rem;
        margin-right: -1rem
    }

    .esi-menu .esi-c-btnlist {
        background: linear-gradient(180deg, #dcdede 50%, #dcdede 100%)
    }

    .esi-menu .esi-c-btnlist a {
        background-color: #ec008c;
        border-color: #ec008c;
        border-radius: 0
    }

    .page-on-scrolling .esi-header.esi-header-tspa .esi-header-ctnr .esi-c-schoolname {
        display: flex;
        align-items: center
    }

    .page-on-scrolling .esi-header.esi-header-tspa .esi-header-ctnr .esi-c-schoolname .esi-c-campus {
        padding-left: .5rem
    }

    .esi-hero.esi-a-home,
    .esi-page-section-full.esi-a-salon2,
    .esi-page-section-full.esi-a-salon4,
    .esi-page-section.esi-a-redken .esi-page-section-ctnr {
        background-attachment: scroll
    }



    body.page-id-53 .esi-hero.esi-a-salon-service {
        background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0, rgba(19, 17, 18, .2) 50%, rgba(111, 60, 93, .6) 100%), url(images/salon-services-v4-m.webp) center center no-repeat !important;
        background-size: cover !important
    }

    .tspa-home-polyline-l,
    .tspa-home-polyline-r {
        height: 100vw;
        bottom: 0
    }

    .tspa-home-polyline .esi-home-loreal-logo {
        margin-top: 0
    }

    .esi-stickyfooter {
        background: rgba(255, 255, 255, .9)
    }

    .cl-tour-form {
        height: 680px
    }

    .cl-request-form {
        height: 680px
    }

    .esi-page-section.esi-a-thankyou {
        background: 0 0;
        background-color: #dcdede
    }

    .esi-page-section.esi-a-thankyou .esi-page-section-ctnr h1 {
        margin-top: 4rem
    }

    .esi-page-section.esi-a-thankyou .col-md-8.col-md-offset-4 p {
        padding-top: 0
    }

    .esi-socialpreview .esi-c-popupctnr {
        background-size: 100%;
        background-attachment: local
    }

    .esi-socialpreview .esi-c-header {
        padding-bottom: 6rem
    }

    .esi-socialpreview h2 {
        margin-top: 7rem
    }
}

.testimonial-carousel {
    position: relative;
    min-height: 320px;
    margin-bottom: 1rem
}

.testimonial-carousel .owl-item {
    color: #fff;
    font-family: Comfortaa, sans-serif
}

.testimonial-carousel .owl-item .item {
    background-color: #39b54a
}

.testimonial-carousel .owl-item:nth-child(3n+2) .item {
    background-color: #00aeef
}

.testimonial-carousel .owl-item:nth-child(3n+3) .item {
    background-color: #ec008c
}

.testimonial-item-row {
    display: flex
}

.testimonial-carousel-left {
    width: 66.67%;
    background-color: rgba(0, 0, 0, .2);
    overflow: hidden;
    position: relative;
    font-size: 1.75rem;
    font-weight: 700;
    z-index: 0
}

.testimonial-carousel-right {
    z-index: 1
}

.testimonial-carousel-left:before {
    content: '';
    line-height: 1;
    width: 100%;
    height: 100%;
    text-align: center;
    background-image: url(images/testimonial-quotation.svg);
    background-position: top center;
    background-repeat: no-repeat;
    position: absolute;
    left: 0;
    right: 0;
    top: 2rem;
    z-index: -1
}

.t-c-l-quote {
    padding: 6rem 1rem;
    z-index: 1;
    text-align: center;
    line-height: 1.4;
    max-width: 540px;
    margin: 0 auto
}

.testimonial-carousel .owl-nav,
.testimonial-carousel-right {
    width: 33.33%
}

.testimonial-carousel .owl-nav {
    position: absolute;
    right: 0;
    top: 0;
    pointer-events: none;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between
}

.testimonial-carousel .owl-nav button {
    pointer-events: auto
}

.testimonial-carousel .owl-nav button i {
    padding: 1rem .75rem;
    background-color: rgba(0, 0, 0, .1);
    color: #fff;
    transform: scaleY(1.25)
}

.testimonial-carousel .owl-nav .disabled {
    visibility: hidden
}

.testimonial-carousel-right .t-c-r-content {
    padding: 0 3rem;
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    height: 100%
}

.ttc-img-wrap {
    display: flex;
    overflow: hidden;
    border-radius: 50%;
    width: 120px;
    height: 120px;
    border: 4px solid #fff;
    justify-content: center;
    align-items: center
}

.testimonial-carousel .ttc-img-wrap img {
    width: auto;
    max-width: 100%
}

.testimonial-carousel .ttc-name-wrap {
    padding: 1rem;
    text-align: center;
    line-height: 1.33
}

.testimonial-carousel .ttc-name-wrap .ttc-name {
    font-size: 1.25rem;
    font-weight: 600
}

.testimonial-carousel .ttc-btn {
    font-family: Teko, sans-serif;
    font-size: 20px;
    font-weight: 500;
    line-height: 1;
    text-decoration: none;
    display: flex;
    color: #000;
    align-items: center;
    text-align: center;
    letter-spacing: 1px;
    text-transform: uppercase;
    border-radius: 0;
    background-color: #f2c94c;
    height: auto;
    padding: 12px 24px 8px 24px
}

.testimonial-carousel-stack .testimonial-item-row {
    flex-direction: column
}

.testimonial-carousel-stack .testimonial-carousel-left,
.testimonial-carousel-stack .testimonial-carousel-right,
.testimonial-carousel-stack.testimonial-carousel .owl-nav {
    width: 100%;
    height: 100%
}

.testimonial-carousel-stack .testimonial-carousel-right .t-c-r-content {
    margin-top: -112px;
    padding: 3rem
}

@media (max-width:969px) {
    .testimonial-item-row {
        flex-direction: column
    }

    .testimonial-carousel .owl-nav,
    .testimonial-carousel-left,
    .testimonial-carousel-right {
        width: 100%;
        height: 100%
    }

    .testimonial-carousel-right .t-c-r-content {
        margin-top: -112px;
        padding: 3rem
    }

    .archive-monthly {
        margin-top: 2rem;
        padding-top: 2rem;
        border-top: 1px solid #212121
    }
}

@media (max-width:449px) {
    .testimonial-carousel .owl-stage {
        margin-left: -10vw
    }

    .testimonial-carousel .owl-nav {
        display: none
    }

    .testimonial-carousel .item {
        transform: scale(.9);
        box-shadow: 0 0 16px 4px rgba(0, 0, 0, .25)
    }

    .testimonial-carousel .owl-nav {
        width: 90%;
        right: 5%
    }

    .testimonial-carousel .owl-item .item {
        margin-left: 10%
    }

    .testimonial-carousel.owl-drag .owl-item {
        transform: translateX(-15%)
    }

    .testimonial-carousel.owl-drag .owl-item.active {
        transform: translateX(0)
    }

    .testimonial-carousel-left {
        font-size: 1.5rem
    }

    .t-c-l-quote {
        min-height: 366px
    }

    .testimonial-carousel-right {
        min-height: 200px
    }
}

@media (max-width:991px) {

    .esi-btn-darkbg small,
    .esi-btn-darkbg-theme small {
        white-space: normal
    }

    .esi-btn-darkbg-theme:focus,
    .esi-btn-darkbg-theme:hover,
    .esi-btn-darkbg.active,
    .esi-btn-darkbg:active,
    .open>.dropdown-toggle.esi-btn-darkbg {
        background-color: #00aeef !important;
        border-color: #00aeef !important;
        outline: 0
    }

    .esi-header-promo {
        color: #fff;
        background-size: cover;
        display: none
    }

    .esi-header-promo .container {
        position: relative;
        padding: 1rem
    }

    .esi-header-promo .container:after,
    .esi-header-promo .container:before {
        content: " ";
        display: table
    }

    .esi-header-promo .container:after {
        clear: both
    }

    .esi-header-promo .esi-c-title {
        font-size: 1rem;
        font-weight: 700;
        text-transform: uppercase;
        float: left;
        width: 90%
    }

    .esi-header-promo .esi-c-content {
        font-size: .75rem;
        float: left;
        width: 65%
    }

    .esi-header-promo .esi-c-btn {
        background-color: #fff;
        color: #000;
        font-size: .75rem;
        box-shadow: 10px 10px 0 0 rgba(0, 0, 0, .2);
        float: right;
        display: inline-block;
        padding: .5rem .25rem;
        width: 30%;
        margin-top: 0;
        text-align: center;
        text-transform: uppercase;
        text-decoration: none !important
    }

    .esi-header-promo .esi-c-close {
        position: absolute;
        right: 1rem;
        top: 1rem;
        background: #000;
        padding: 0 .5rem;
        opacity: .3
    }

    .esi-page-program .esi-c-detail .esi-c-hours .esi-c-breakdown-wrap.esi-a-both .esi-c-breakdown>:nth-child(2n-1) {
        width: 100%;
        float: none
    }

    .esi-page-program .esi-c-detail .esi-c-hours .esi-c-breakdown-wrap.esi-a-both .esi-c-breakdown>:nth-child(2n) {
        width: 100%;
        float: none
    }

    .esi-page-program .esi-c-detail .esi-c-hours {
        text-align: left
    }

    .esi-page-program .esi-c-detail .esi-c-hours .esi-c-breakdown strong {
        font-size: 1.5rem
    }

    .esi-page-program .esi-c-detail .esi-c-hours .esi-c-breakdown>div {
        border-left: none;
        margin-bottom: 2rem
    }

    .esi-page-program .esi-c-detail .esi-c-hours .esi-c-breakdown>div>div {
        border-left: none
    }

    .esi-page-program .esi-c-detail .esi-c-hours .esi-c-breakdown-wrap.esi-a-both::before {
        display: none
    }

    .esi-page-program .esi-c-detail .esi-c-hours .esi-c-breakdown-wrap.esi-a-both::after {
        display: none
    }
}

@media (min-width:992px) {
    .esi-header-promo {
        color: #fff;
        background-size: cover;
        display: none
    }

    .esi-header-promo .container {
        position: relative;
        padding: 2rem
    }

    .esi-header-promo .container:after,
    .esi-header-promo .container:before {
        content: " ";
        display: table
    }

    .esi-header-promo .container:after {
        clear: both
    }

    .esi-header-promo .esi-c-title {
        font-size: 2rem;
        font-weight: 700;
        text-transform: uppercase;
        float: left;
        width: 70%
    }

    .esi-header-promo .esi-c-content {
        font-size: 1rem;
        float: left;
        width: 70%
    }

    .esi-header-promo .esi-c-btn {
        background-color: #fff;
        color: #000;
        font-size: 1.5rem;
        box-shadow: 10px 10px 0 0 rgba(0, 0, 0, .2);
        float: right;
        display: inline-block;
        padding: .5rem 1rem;
        width: 25%;
        margin-top: 2rem;
        text-align: center;
        text-transform: uppercase;
        text-decoration: none !important
    }

    .esi-header-promo .esi-c-close {
        position: absolute;
        right: 1rem;
        top: 1rem;
        background: #000;
        padding: 0 .5rem;
        opacity: .3
    }

    .esi-header-promo.esi-a-imageonly img {
        width: 100%;
        max-width: 100%;
        height: auto
    }
}

.tspa-cyan,
h3.tspa-cyan {
    color: #00aeef
}

.page-on-scrolling .esi-header-promo {
    display: none !important
}

.page-on-scrolling .esi-a-home.esi-hero {
    background-position: center top !important
}

.textchat--bubble-holder{
    bottom:96px!important;
}