﻿body {
    font-family: 'Open Sans Condensed', sans-serif;
    font-weight: 300;
    color: #333;
}

h1, h2, h3, h4, h5, h6
{
    font-family: 'Open Sans Condensed', sans-serif;
    font-weight: 300;
    display: block;
    text-align: center;
    margin: 2rem auto 0.75rem auto;
}
h5, h6, h7
{
    margin-top: 1rem;
}
h1:first-child, h2:first-child, h3:first-child, h4:first-child, h5:first-child, h6:first-child
{
    margin-top: 0.25rem;
}
h1, h2, h3
{
    text-transform: uppercase;
}
h1,
h2
{
    margin-bottom: 2rem;
    font-size: 2.5em;
}
h3,
h1 .sub
{
    display: block;
    color: #bc317a;
    text-align: center;
    font-size: 1.68rem;
}
h4
{
    text-transform: uppercase;
    margin-bottom: 0.25rem;
    text-align: left;
}
h5
{
    text-transform: uppercase;
    margin-bottom: 0.25rem;
    text-align: left;
}
h6
{
    font-size: 1.3rem;
    margin-bottom: 0.25rem;
    text-align: left;
}
    h1.has-sub, h2.has-sub, h3.has-sub, h4.has-sub, h5.has-sub, h6.has-sub
    {
        margin-bottom:0;
    }
    h1.sub, h1 .sub, h2.sub, h3.sub, h4.sub, h5.sub, h6.sub
    {
        margin-top:0;
        line-height: 1rem;
    }
@media only screen and (max-width: 40em)
{
    h1,
    h2
    {
        font-size: 2.1em;
        margin-bottom: 1.5em;
    }
    h3
    {
        font-size: 1.37em;
    }
}

a,
a:visited
{
    color: #bc317a;
}
a 
{
    font-weight: bold;
    transition: color 300ms ease-out;
}
    a:active,
    a:hover,
    a:focus
    {
        color: #fc7ad6;
    }

p
{
    font-size: 1.0rem;
}

em
{
    font-style: normal;
    font-family: 'Open Sans Condensed', sans-serif;
    font-weight: 300;
    color: #333;
}

label
{
    font-size: 1rem;
}


@media only screen and (min-width: 40.063em)
{
    dl
    {
        margin: 0.75rem 0 1.5rem 0;
    }
    dl dt
    {
        display: inline-block;
        float: left;
        clear: left;
        margin-right: 0.5rem;
    }
    dl dt,
    dl dd
    {
        line-height: 1.2rem;
        margin-bottom: 0.35rem;
    }
}


/* Custom styles */

.columns
{
    position: relative;
}

button,
.button
{
    font-family: 'Open Sans Condensed', sans-serif;
    font-weight: bold;
    font-size: 1.2rem;
    text-transform: uppercase;
    background-color: #a32065;
    border-color: #a32065;
    padding: 0.8rem 2rem;
}
button,
button:hover,
button:active,
button:focus,
.button,
.button:hover,
.button:active,
.button:focus,
.button:visited
{
    color: #ffffff;
}
    button:hover,
    button:active,
    button:focus,
    .button:hover,
    .button:active,
    .button:focus
    {
        background-color: #bc317a;
    }
.button-small
{
    line-height: 0.8rem;
    font-size: 0.8rem;
    padding: 0.6rem 1rem;
}

.button.light {
    background-color: #fff !important;
    color: #333;
}
.button.light:hover,
.button.light:active,
.button.light:focus {
    background-color: #f0f0f0 !important;
    color: #000;
}

.dark-overlay
{
    background-color: rgba(50,50,50,0.6);
}
    .dark-overlay.button:hover,
    .dark-overlay.button:active,
    .dark-overlay.button:focus
    {
        background-color: rgba(0,0,0,0.6);
    }
    
.error input[type='text'], input[type='text'].error,
.error input[type='password'], input[type='password'].error,
.error input[type='date'], input[type='date'].error,
.error input[type='datetime'], input[type='datetime'].error,
.error input[type='datetime-local'], input[type='datetime-local'].error,
.error input[type='month'], input[type='month'].error,
.error input[type='week'], input[type='week'].error,
.error input[type='email'], input[type='email'].error,
.error input[type='number'], input[type='number'].error,
.error input[type='search'], input[type='search'].error,
.error input[type='tel'], input[type='tel'].error,
.error input[type='time'], input[type='time'].error,
.error input[type='url'], input[type='url'].error,
.error input[type='color'], input[type='color'].error,
.error textarea, textarea.error
{
    border-color: #C05050;
}
input.error, textarea.error, select.error
{
    transition-duration: 0;
}
label.error
{
    display:block;
    padding: 1px 3px;
    height: 16px;
    max-height: 16px;
    font-size: 14px;
    line-height: 14px;
    background-color: #C05050;
    color: #ffffff;
}
.g-recaptcha > label.error
{
    width:304px;
}


.unselectable {
   -moz-user-select: -moz-none;
   -khtml-user-select: none;
   -webkit-user-select: none;
   -ms-user-select: none;
   user-select: none;
}

/* Flash of Unstyled Content Block */
.fouc
{
    display: none;
}
#fouc-block
{
    position: fixed;
    z-index: 10000;
    height: 100%;
    width: 100%;
    opacity: 1;
    background-color: #fff;
}

/* Side Nav */
.side-nav li
{
    margin-bottom: 0;
    margin-top: 0;
}
.side-nav li > a:not(.button), .side-nav li > a:not(.button)
{
    transition: all ease 0.3s;
    position: relative;
    font-weight: normal;
    color: #bc317a;
    border-left: solid 3px #bc317a;
    margin-bottom: 0;
}
.side-nav li > a:not(.button):hover, .side-nav li > a:not(.button):focus,
.side-nav li.active > a:not(.button),
.side-nav li.active > a:first-child:not(.button)
{
    border-left-color: #fc7ad6;
    color: #fc7ad6;
}
.side-nav li > a:not(.button):hover, .side-nav li > a:not(.button):focus
{
    background-color: rgba(0,0,0,0.1);
}
.grey .side-nav li > a:not(.button), .grey .side-nav li > a:not(.button)
{
    color: #ffffff;
}
.grey .side-nav li > a:not(.button):hover, .grey .side-nav li > a:not(.button):focus
{
    color: #fc7ad6;
}
.side-nav li > a:not(.button):after,
.side-nav li.active > a:not(.button):after {
    top: 50%;
	left: 0%;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
	border-color: rgba(136, 183, 213, 0);
	border-left-color: #bc317a;
	border-width: 0px;
    margin-top: 0px;
    transition: all ease 0.2s;
}
.side-nav li > a:not(.button):hover:after,
.side-nav li > a:not(.button):active:after,
.side-nav li.active > a:not(.button):after,
.side-nav li.active > a:not(.button):active:after {
	border-width: 8px;
    margin-top: -8px;
	border-left-color: #fc7ad6;
}

/* Nested side-nav */
.side-nav .side-nav
{
    border-left: solid 3px #bc317a;
    margin-top: 0;
    padding-top: 0;
    padding-left: 1rem;
}
    .side-nav .side-nav li > a:not(.button), .side-nav .side-nav li > a:not(.button)
    {
        border-left-width: 0px;
    }
.side-nav .active > .side-nav
{
    border-left-color: #fc7ad6;     
}


/* Nested side-nav */
.hide-unselected
{
    display:none;
}
.active > .hide-unselected
{
    display:block;
}


/* Top Bar */
.top-bar,
.top-bar .name,
.top-bar-section ul li,
.top-bar-section li:not(.has-form) a:not(.button)
{
    background-color: #FFFFFF;
    color: #333;
}
.top-bar,
.top-bar .name
{
    height: 3.5rem;
}
.top-bar
{
    box-shadow: 0px 0px 10px rgba(0,0,0,0.6);
}
.top-bar-section > ul > .divider, .top-bar-section > ul > [role='separator']
{
    border-right: solid 1px rgba(100,100,100,0.2);
}

.top-bar .name img
{
    width: auto;
    height: 45px;
    margin-top: 0.3rem;
    margin-left: 0.5rem;
}

.top-bar .toggle-topbar.menu-icon a span::after,
.menu-icon > span::after {
    content: "";
    position: absolute;
    display: block;
    height: 0;
    top: 50%;
    margin-top: -8px;
    right: 0.9375rem;
    box-shadow: 0 0 0 1px #808080, 0 7px 0 1px #808080, 0 14px 0 1px #808080; 
    width: 16px; 
}
    .top-bar .toggle-topbar.menu-icon a span:hover::after,
    .menu-icon > span:hover::after {
        box-shadow: 0 0 0 1px #a32065, 0 7px 0 1px #a32065, 0 14px 0 1px #a32065;
    }
.top-bar-section li:not(.has-form) a:not(.button),
.top-bar-section ul li > a.button
{
    border-left: 2px solid transparent;
    transition: all ease 0.5s;
    transition: background-color ease 0.5s;
}
    .top-bar-section li:not(.has-form) a:not(.button):hover,
    .top-bar-section ul li > a.button:hover, 
    .top-bar-section ul li > a.button:focus {
        border-left: 2px solid #a32065;
        background-color: #bc317a;
        color: #ffffff;
    }
@media only screen and (min-width: 40.063em)
{
    .top-bar-section ul li,
    .top-bar-section li:not(.has-form) a:not(.button)
    {
        line-height: 3.5rem;
        height: 3.5rem;
    }
    .top-bar-section > ul > .divider, .top-bar-section > ul > [role='separator']
    {
        height: 3.5rem;
    }

    .top-bar .name > img
    {
        margin-top: 0.3rem;
        margin-left: 0.5rem;
    }

    .top-bar-section li:not(.has-form) a:not(.button),
    .top-bar-section ul li > a.button
    {
        border-left: none;
    }
        .top-bar-section li:not(.has-form) a:not(.button):hover,
        .top-bar-section ul li > a.button:hover, 
        .top-bar-section ul li > a.button:focus {
            border-left: none;
        }
}

.copy
{
    font-size:0.8rem;
    line-height: 2rem;
}

/* Loader */
.loading.blocking
{
    position: fixed;
    z-index: 1001;
    background-color: rgba(255,255,255,0.8);
}
.loading
{
    position: absolute;
    z-index: 999;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    min-height: 50px;
    background-color: transparent;
    text-align: center;
}
    .loading.loading-top
    {
        height: auto;
    }
    .loading > .loading-content
    {
        display: inline-block;
        position: relative;
        top: 50%;
        margin: 0 auto;
        margin-top: -50px;
        padding: 1rem;
        background-color: #ffffff;
        border: solid 1px #d0d0d0;
        border-radius: 5px;
        box-shadow: 0px 0px 10px rgba(0,0,0,0.6);
    }
    .loading.loading-top > .loading-content
    {
        top: 0;
        margin-top: 1rem;
    }
    .loading .loading-image
    {
        background-image: url('/Images/Loader.gif');
        background-position: center center;
        background-repeat: no-repeat;
        height: 28px;
        width: 28px;
        display: block;
        margin: 0 auto;
    }
    .loading span
    {
        color: #666;
    }
@media only screen and (min-width: 64.063em)
{
    .loading.blocking
    {
        position: absolute;
        z-index: 999;
        background-color: transparent;
    }
}

/* Social Icons */
.social-icon
{
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
}
.social-facebook
{ background-image: url('/images/social/facebook.png'); }
.social-instagram
{ background-image: url('/images/social/instagram.png'); }
.social-twitter
{ background-image: url('/images/social/twitter.png'); }

.grey .social-facebook, .pink .social-facebook
{ background-image: url('/images/social/facebook-white.png'); }
.grey .social-instagram, .pink .social-instagram
{ background-image: url('/images/social/instagram-white.png'); }
.grey .social-twitter, .pink .social-twitter
{ background-image: url('/images/social/twitter-white.png'); }

/* Containers and Sections */
.container
{
    background-color: #ffffff;
    padding: 1rem 0 2rem 0;
    position: relative;
}
.row.expand
{
    width: 100%;
    max-width: 100%;
    margin: 0;
}
    .container:last-of-type
    {
        padding-bottom: 1.5rem;
    }
    section.container.bottom-angled
    {
        padding-bottom: 0;
    }
    section.container.shadow
    {
        box-shadow: 0px 0px 10px rgba(0,0,0,0.6);
    }
section.bottom-angled::after
{
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    z-index: 2;
    border-top: 5rem solid #fff;
    border-left: 20rem solid transparent;
    border-right: 20rem solid transparent;
    margin-left: -20rem;
}
section.bottom-angled + section.container
{
    padding-top: 5rem;
}
.bottom-angled-space
{
    background-color: #fff;
    height: 7rem;
    position: relative;
    z-index: 0;
}
@media only screen and (min-width: 40.063em)
{
}
@media only screen and (min-width: 64.063em)
{
    .container
    {
        padding: 1.5rem 0 3rem 0;
    }
    .container:last-of-type
    {
        padding-bottom: 1.5rem;
    }
}

.pink
{
    background-color:#a32065;
    color: #ffffff;
}
    section.pink.bottom-angled::after
    {
        border-top-color: #a32065;
    }

    .pink h1, .pink h1 .sub, .pink h2, .pink h3, .pink h4, .pink h5, .pink h6,
    .pink p, .pink label
    .grey h1, .grey h1 .sub, .grey h2, .grey h3, .grey h4, .grey h5, .grey h6,
    .grey p, .grey label
    {
        color: #ffffff;
    }
    .pink h1,
    .grey h1,
    .pink h2,
    .grey h2
    {
        color: #ffffff;
    }
    .pink h3, .pink h1 .sub, .pink h6,
    .grey h3, .pink h1 .sub, .grey h6
    {
        color: #fc7ad6;
    }
    .pink a, .pink a:visited,
    .grey a, .grey a:visited
    {
        color: #fc7ad6;
    }
        .pink a:active, .pink a:hover, .pink a:focus,
        .grey a:active, .grey a:hover, .grey a:focus
        {
            color: #FDB3E7;
        }
    .pink .button, .pink .button:visited, .pink .button:hover, .pink .button:active, .pink .button:focus,
    .grey .button, .grey .button:visited, .grey .button:hover, .grey .button:active, .grey .button:focus
    {
        color: #ffffff;
    }

.grey
{
    background-color:#505050;
    color: #ffffff;
}
    section.grey.bottom-angled::after
    {
        border-top-color: #505050;
    }


.light
{
    background-color: #f0f0f0;
}
    section.light.bottom-angled::after
    {
        border-top-color: #f0f0f0;
    }
    .light h1,
    .light h2
    {
        color: #bc317a;
    }

.transparent
{
    background-color: transparent;
}
    section.transparent.bottom-angled::after
    {
        border-top: 5rem solid transparent;
        border-left: 20rem solid #fff;
        border-right: 20rem solid #fff;
    }
    section.transparent.bottom-angled + section.container
    {
        padding-top: 0;
        margin-top: 5rem;
    }

    

/* Kendo Utils */
.k-icon,
.k-tool-icon,
.k-grouping-dropclue,
.k-drop-hint,
.k-column-menu .k-sprite,
.k-grid-mobile .k-resize-handle-inner::before,
.k-grid-mobile .k-resize-handle-inner::after
{
    background-image: url('../Kendo/styles/Default/Sprite.png');
    border-color: transparent;
}
.pink .k-icon,
.pink .k-tool-icon,
.pink .k-grouping-dropclue,
.pink .k-drop-hint,
.pink .k-column-menu .k-sprite,
.pink .k-grid-mobile .k-resize-handle-inner::before,
.pink .k-grid-mobile .k-resize-handle-inner::after,
.grey .k-icon,
.grey .k-tool-icon,
.grey .k-grouping-dropclue,
.grey .k-drop-hint,
.grey .k-column-menu .k-sprite,
.grey .k-grid-mobile .k-resize-handle-inner::before,
.grey .k-grid-mobile .k-resize-handle-inner::after
{
    background-image: url('../Kendo/styles/Flat/Sprite.png');
    border-color: transparent;
}
.k-i-expand, .k-plus, .k-plus-disabled
{
    background-position: 0 -192px;
}
.k-i-close, .k-delete, .k-group-delete
{
    background-position: -32px -16px;
}
.k-i-plus, .k-add
{
    background-position: -32px -64px;
}
.k-i-minimize
{
    background-position: -64px -288px
}
.k-i-minus
{
    background-position: -64px -292px
}
.k-i-refresh
{
    background-position: -32px -112px;
}
.k-i-hush
{
    background-image: url('/Images/Logo-mini.png');
    background-size: contain;
}
.k-i-usa
{
    background-image: url('/Images/Country-USA.png');
    background-size: contain;
}
.k-i-canada
{
    background-image: url('/Images/Country-CAN.png');
    background-size: contain;
}
.k-icon, .k-sprite, .k-button-group .k-tool-icon
{
    display: inline-block;
    width: 16px;
    height: 16px;
    overflow: hidden;
    background-repeat: no-repeat;
    font-size: 0px;
    line-height: 0;
    text-align: center;
    -ms-high-contrast-adjust: none;
}

/* Kendo ScrollView */
.km-scrollview
{
    margin: 0 auto;
    width: 90%;
    overflow: visible;
    background: none;
}
    .km-scrollview > div > *
    {
        white-space: normal;
        position: relative;
        text-align: center;
    }
        .km-scrollview > div > * > *
        {
            margin: 0 0.5rem;
        }

.km-pages
{
    box-sizing: content-box;
    padding-top: 0;
    margin-bottom: 1rem;
}
.km-pages li {
    border-radius: 1em;
    border: solid 1px rgba(0,0,0,0.5);
    background-color: rgba(100,100,100,0.5);
}
.km-pages li.km-current-page {
    border-radius: 1em;
    border: solid 1px #bc317a;
    background-color: #bc317a;
}

.scrollview-previous,
.scrollview-next {
    display: block;
    position: absolute;
    top: 0;
    z-index: 1;
    height: 100%;
    width: 50px;
    opacity: 0.2;
}
.scrollview-previous {
    left: 0;
    background: url('/Images/Arrow-Left.png') no-repeat 50% 50%;
}
.scrollview-next {
    left: auto;
    right: 0;
    background: url('/Images/Arrow-Right.png') no-repeat 50% 50%;
}
a.scrollview-previous:hover {
    opacity: 1;
}
a.scrollview-next:hover  {
    opacity: 1;
}

/* Accordion FAQ */
.smooth-accordion
{
    margin-left: 0;
    padding-left: 0;
}
.smooth-accordion > li
{
    list-style: none;
}
.smooth-accordion > li a.smooth-accordion-navigation
{
    background: none;
    padding: 0.25rem 0;
    display: block;
}
    .smooth-accordion a.smooth-accordion-navigation h4
    {
        display: block;
        position: relative;
        padding-left: 1.25rem;
        color: #fc7ad6;
    }
    .smooth-accordion a.smooth-accordion-navigation h4 .accordion-collapse,
    .smooth-accordion a.smooth-accordion-navigation h4 .accordion-expand
    {
        position: absolute;
        left: 0;
        top: 0.25rem;
    }
    .smooth-accordion > li a:hover,
    .smooth-accordion > li a:focus,
    .smooth-accordion .active.smooth-accordion-navigation a, 
    .smooth-accordion dd.active a
    {
        background: none;
    }
.smooth-accordion .content,
.smooth-accordion dd > .content
{
    padding: 0 0 0 1.25rem;
}
.smooth-accordion .faq-question *
{
    text-align: left;
}
.smooth-accordion .faq-question .k-icon
{
    margin-right: 5px;
}
.smooth-accordion > li:not(.active) .faq-question .accordion-collapse,
.smooth-accordion > li.active .faq-question .accordion-expand
{
    display: none;
}
@media only screen and (min-width: 40.063em)
{
    .smooth-accordion a.smooth-accordion-navigation h4 .accordion-collapse,
    .smooth-accordion a.smooth-accordion-navigation h4 .accordion-expand
    {
        top: 0.5rem;
    }
    .smooth-accordion .content,
    .smooth-accordion dd > .content
    {
        padding-left: 2rem;
    }
}
/*
.smooth-accordion > li.active .faq-question > *::before
{
    content: string('<span class="k-icon k-i-collapse></span>');
}*/


/* Alert Boxes */
.alert-box h1, .alert-box h2, .alert-box h3, .alert-box h4, .alert-box h5, .alert-box h6
{
    text-align: left;
    color: #fff;
}
.alert-box .close
{
    top: 0.25rem;
    margin-top: 0;
}

.alert-box
{
    background-color: #ffffff;
    color: #555;
}

/* Reveal */
.reveal-modal .close-reveal-modal
{
    top: 0.2rem;
    right: 0.5rem;
}

/* Sub Nav */
.sub-nav dt, .sub-nav dd, .sub-nav li
{
    margin-left: 0;
    margin-bottom: 0.25rem;
    font-family: 'Open Sans Condensed', sans-serif;
    font-size: 1rem;
}
.sub-nav a, .sub-nav a:visited
{
    font-weight: normal;
}
.sub-nav dt.active a, .sub-nav dd.active a, .sub-nav li.active a,
.sub-nav dt.active a:focus, .sub-nav dd.active a:focus, .sub-nav li.active a:focus
{
    background: #a32065;
    color: #fff;
}
.sub-nav dt.active a:hover, .sub-nav dd.active a:hover, .sub-nav li.active a:hover,
.sub-nav dt.active a:active, .sub-nav dd.active a:active, .sub-nav li.active a:active
{
    background: #a32065;
}


/* Locations */
.alert {
    background-color: rgba(0,0,0,0.05);
    margin: 5px 0;
    padding: 5px;
    font-size: 0.8em;
}

.locations-province
{
    padding-bottom: 1rem;
}
.locations-province h2
{
    text-align: left;
    margin-bottom: 0;
    margin-top: 0;
}
    .locations-province > h2 a
    {
        font-weight: 300;
        transition: all ease 0.3s;
        text-shadow: 1px 1px 2px 2px rgba(255, 255, 255, 0.1);
    }
        .locations-province > h2 a:hover
        {
            text-shadow: 1px 1px 2px 2px rgba(255, 255, 255, 0.2);
        }

.locations-cities > .columns
{
    padding-left: 0;
    padding-right: 0;
}
.locations-city > h3
{
    display: inline-block;
    text-align: left;
    margin: 0;
    text-shadow:1px 1px #fff;
}
    .locations-city > h3 a
    {
        font-weight: 300;
        color: #666;
        transition: all ease 0.3s;
    }
        .locations-city > h3 a:hover
        {
            color: #000;
            text-shadow: 1px 1px 2px 2px rgba(255, 255, 255, 0.2);
        }
.light .locations-city > h3,
.grey .locations-city > h3
{
    text-shadow: 1px 1px 2px 2px rgba(255, 255, 255, 0.1);
}
    .locations-city > h3 > .k-icon
    {
        margin-right: 0.25rem;
    }

.locations-city .locations-studios
{
    margin: 0;
}
    .locations-city .locations-studios.indent
    {
        padding-left: 0.5rem;
    }
    .locations-province .locations-studios > dd
    {
        margin: 0;
    }
.locations-studios
{
    margin: 0;
}
.locations-studios .studio
{
    margin: 0 0.75rem 0 0;
}
.locations-studios > li
{
    margin: 0;
    list-style: none;
    padding: 1rem 0 1rem 0;
}
@media only screen and (max-width: 40em)
{
    .locations-studios > li:not(:first-child)
    {
        border-top: solid 1px #f8f8f8;
    }
}
.studio
{
    text-align: left;
    position: relative;
    overflow: hidden;
}
    .studio .studio-details
    {
        position: relative;
        left: 0;
        top: 0;
        line-height: 1rem;
    }
    .studio .studio-name,
    .studio .studio-name a
    {
        text-align: left;
        margin: 0;
        line-height: 1.2rem;
        font-weight: normal;
        color: #555;
        text-shadow:1px 1px #fff;
        transition: all ease 0.3s;
    }
        .studio .studio-name a:hover
        {
            color: #000;
            text-shadow: 1px 1px 2px 2px rgba(255, 255, 255, 0.2);
        }
.light .studio .studio-name
{
    color: #222;
    text-shadow: 1px 1px #ddd;
}
.grey .studio .studio-name
{
    color: #fff;
    text-shadow: 1px 1px #ddd;
}
    .studio .k-icon
    {
        margin-left: 0.25rem;
        margin-top: -4px;
    }
    .studio .k-i-usa
    {
        width:24px;
    }
    .studio .studio-address,
    .studio .studio-phone
    {
        display: inline-block;
        margin-right: 0.5rem;
        line-height: 1.2rem;
        font-size: 0.9rem;
    }
    .coming-soon
    {
        margin-top: 2px;
    }
        .coming-soon span
        {
            display: inline-block;
            color: #bc317a;
            border-top: solid 1px #ccc;
            padding-right: 8rem;
            font-size: 1.1rem;
            line-height: 1.6rem;
        }
    .studio .studio-cta
    {
    }
        .studio .button
        {
            margin: 0;
        }
        .studio .studio-cta > span:not(:last-child),
        .studio .studio-cta > a:not(:last-child)
        {
            margin-right: 0.5rem;
        }

        .studio em
        {
            color: #bc317a;
            font-size: 0.9rem;
            line-height: 0.9rem;
            display: block;
            margin-bottom: 0.25rem;
        }
    .studio .studio-price-form
    {
        position: absolute;
        left: 100%;
        top: 0;
        margin: 0;
        padding: 0 0 0 0.5rem;
        width: 100%;
        background-color: transparent;
        z-index: 1000;
        border-left: 5px solid #bc317a;
    }
        .studio .alert-box
        {
            position: absolute;
            top: 0;
            width: 100%;
            height: 100%;
            margin-top: 1.3rem;
            background-color: transparent;
            border: none;
            color: #666;
        }
        .studio .price-form-close
        {
            cursor: pointer;
            position: absolute;
            top: 0;
            right: 0;
            line-height:16px;
            padding: 0 0.25rem 0 0.5rem;
        }
        .studio .studio-price-form input
        {
            margin-bottom: 0.25rem;
        }
        .studio .studio-price-form label
        {
            font-size: 0.85rem;
        }
@media only screen and (min-width: 40.063em)
{
    .locations-city .locations-studios.indent
    {
        padding-left: 1rem;
    }
    .locations-studios > li
    {
        min-height: 8.5rem;
    }
    .studio .studio-name
    {
        text-align: left;
        margin: 0;
        line-height: 1.3rem;
        font-size: 1.3rem;
        color: #555;
    }
}
@media only screen and (min-width: 64.063em)
{
    .locations-city .locations-studios.indent
    {
        padding-left: 1.5rem;
    }
    .locations-studios > li
    {
        min-height: 9.5rem;
    }
    .studio .studio-address,
    .studio .studio-phone
    {
        line-height: 1.3rem;
        font-size: 1rem;
    }
}

/* Scroll Down Button */
.scrollDown
{
    display: block;
    width: 90px;
    height: 30px;
    position: absolute;
    top: -10px;
    left: 50%;
    margin-left: -45px;
    cursor: pointer;
    z-index: 1;
    background-image: url('/Images/Scroll-Down.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
}
@media only screen and (min-width: 40.063em)
{
    .scrollDown
    {
        top: -10px;
    }
}
@media only screen and (min-width: 64.063em)
{
    .scrollDown
    {
        width: 150px;
        height: 50px;
        position: absolute;
        top: -30px;
        left: 50%;
        margin-left: -75px;
    }
}


/* Big Title Images */
.title-image
{
    width: 100%;
    min-height: 20rem;
    position: relative;  
}
.title-image-bg
{
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover; 
    position: absolute;   
    z-index: -2;
}
#title-image-content
{
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
}
.image-overlay
{
    z-index:10;
}
.image-overlay-content
{
    background-color: rgba(255,255,255,0.5);
    padding: 1rem;
}
    .image-overlay-content .image-overlay-content-text
    {
        border-left: solid 5px #a32065;
        padding-left: 0.5rem;
    }
        .image-overlay-content .image-overlay-content-text h1,
        .image-overlay-content .image-overlay-content-text h2
        {
            text-align: left;
            text-transform: uppercase;
            font-size: 2rem;
            line-height: 1.6rem;
            border-bottom: none;
            margin: 0.5rem 0rem;
        }
        .image-overlay-content .image-overlay-content-text em
        {
            text-transform: uppercase;
            display: block;
            line-height: 1rem;
            letter-spacing:3px;
        }
        .image-overlay-content .image-overlay-content-text .image-overlay-em-separator
        {
            display: none;
        }
        .image-overlay-content .image-overlay-content-buttons
        {
            margin-top: 1rem;
            text-transform: uppercase;
        }
        .image-overlay-content .image-overlay-content-buttons .button
        {
            margin: 0.25rem 0;
            display: none;
            font-size: 1rem;
            line-height: 1rem;
            width: 100%;
        }
            .image-overlay-content .image-overlay-content-buttons .button:first-child
            {
                display: block;
            }
@media only screen and (min-width: 40.063em) 
{
    .title-image
    {
        min-height: 30rem;
    }
    #title-image-content
    {
        bottom: 1rem;
        left: 3%;
        border-radius: 0.5rem;
        width: auto;
    }
        .image-overlay-content .image-overlay-content-text h1,
        .image-overlay-content .image-overlay-content-text h2
        {
            font-size: 3rem;
            line-height: 2.6rem;
        }
        .image-overlay-content .image-overlay-content-text em
        {
            font-size: 1.1rem;
            display: inline-block;
        }
            .image-overlay-content .image-overlay-content-text em:first-of-type
            {
                margin-left: 0.25rem;
            }
        .image-overlay-content .image-overlay-content-text .image-overlay-em-separator
        {
            display: inline-block;
        }
        .image-overlay-content .image-overlay-content-buttons .button,
        .image-overlay-content .image-overlay-content-buttons .button:first-child
        {
            margin-right:0.5rem;
            width: auto;
            display: inline-block;
        }

    section.bottom-angled::after
    {
        content: "";
        position: absolute;
        top: 100%;
        left: 50%;
        z-index: 1;
        border-top: 6rem solid #fff;
        border-left: 32rem solid transparent;
        border-right: 32rem solid transparent;
        margin-left: -32rem;
    }

    section.transparent.bottom-angled::after
    {
        border-top: 6rem solid transparent;
        border-left: 32rem solid #fff;
        border-right: 32rem solid #fff;
    }
    section.bottom-angled + section.container
    {
        padding-top: 6rem;
    }
    section.transparent.bottom-angled + section.container
    {
        padding-top: 0;
        margin-top: 6rem;
    }
}
@media only screen and (min-width: 64.063em)
{
    .row
    {
        width:90%;
        max-width: 70rem;
    }

    p
    {
        font-size: 1.2rem;
    }

    section.container
    {
        padding: 3rem 0 5rem 0;
    }

    .title-image
    {
        min-height: 40rem;
    }
    #title-image-content
    {
        bottom: 4rem;
        left: 5%;
        border-radius: 0.5rem;
        width: auto;
    }
        .image-overlay-content .image-overlay-content-text h1
        {
            font-size: 4rem;
            line-height: 3.6rem;
        }
        .image-overlay-content .image-overlay-content-text em
        {
            font-size: 1.2rem;
        }
        .image-overlay-content .image-overlay-content-buttons .button
        {
            font-size: 1.1rem;
            line-height: 1.1rem;
        }

    section.bottom-angled::after
    {
        content: "";
        position: absolute;
        top: 100%;
        left: 50%;
        z-index: 1;
        border-top: 7rem solid #fff;
        border-left: 85rem solid transparent;
        border-right: 85rem solid transparent;
        margin-left: -85rem;
        overflow: hidden;
    }

    section.transparent.bottom-angled::after
    {
        border-top: 7rem solid transparent;
        border-left: 85rem solid #fff;
        border-right: 85rem solid #fff;
    }

    section.bottom-angled + section.container
    {
        padding-top: 7rem;
    }
    section.transparent.bottom-angled + section.container
    {
        padding-top: 0;
        margin-top: 7rem;
    }
}



/* CTA Nav */
.cta-nav
{
    background-color: #505050;
    position: relative;
    padding: 0;
}
.location-image .cta-nav
{
    border-radius: 1rem 1rem 0 0;
    border-bottom: solid 2rem #bc317a;
    top: 5rem;
    z-index: 1;
    box-shadow: 0px 0px 0.3rem 0px rgba(0,0,0,0.7);
}
    .cta-nav li > a.button,
    .cta-nav li > button
    {
        transition: all ease 0.3s;
        position: relative;
        background-color: transparent;
        font-weight: normal;
        color: #ffffff;
        margin-bottom: 0;
        margin-top: 0;
    }
    .light .cta-nav li > a.button,
    .light .cta-nav li > button
    {
        background-color: #dddddd;
        color: #000;
    }
    .white .cta-nav li > a.button,
    .white .cta-nav li > button
    {
        background-color: #ffffff;
        color: #000;
    }
    .location-image .cta-nav li:first-child > a.button,
    .location-image .cta-nav li:first-child > button
    {
        border-radius: 1rem 1rem 0 0;
    }
    .cta-nav li > a.button:hover, 
    .cta-nav li > button:focus,
    .cta-nav li.active > a.button,
    .cta-nav li.active > button
    {
        background-color: #bc317a;
    }
    .light .cta-nav li > a.button:hover, 
    .light .cta-nav li > button:focus,
    .light .cta-nav li.active > a.button,
    .light .cta-nav li.active > button
    {
        background-color: #ffffff;
        color: #bc317a;
    }
    .white .cta-nav li > a.button:hover, 
    .white .cta-nav li > button:focus,
    .white .cta-nav li.active > a.button,
    .white .cta-nav li.active > button
    {
        background-color: #bc317a;
        color: #ffffff;
    }



/* Gallery Parallax */
#services-section
{
}
#gallery-section
{
}
#gallery-section .columns
{
    height: 20rem;
}
#gallery-overlay-content
{
    position: absolute;
    padding-bottom: 2rem;
    bottom: -5rem;
    left: 0;
    width: 100%;
}
    #gallery-overlay-content .image-overlay-content-buttons
    {
        text-align: center;
    }
    #gallery-overlay-content .button
    {
        margin: 0 auto;
        display: inline-block;
        width: auto;
    }

.blur
{
    -webkit-filter: blur(2px);
    -moz-filter: blur(2px);
    -o-filter: blur(2px);
    -ms-filter: blur(2px);
    filter: blur(2px);
    /* Translate3d(0) turns on hw accel for blur effect in some browsers */
    -webkit-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
}
@media only screen and (min-width: 40.063em)
{
    .blur-medium-up
    {
        -webkit-filter: blur(2px);
        -moz-filter: blur(2px);
        -o-filter: blur(2px);
        -ms-filter: blur(2px);
        filter: blur(2px);
        /* Translate3d(0) turns on hw accel for blur effect in some browsers */
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
    }
}
@media only screen and (min-width: 64.063em)
{
    .blur-large-up
    {
        -webkit-filter: blur(2px);
        -moz-filter: blur(2px);
        -o-filter: blur(2px);
        -ms-filter: blur(2px);
        filter: blur(2px);
        /* Translate3d(0) turns on hw accel for blur effect in some browsers */
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
    }
}
@media only screen and (max-width: 64em)
{
    .medium-fixed
    {
        position:fixed !important;
    }
}
.parallax-bg
{
    box-sizing: content-box;
    height: 100%;
    margin-top: -6rem;
    padding: 7rem 0;
    background-size: cover;
    background-position: center center;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: -1;
    transition: 0s linear;
    transition-property: transform;
}
.parallax-bg-center
{
    height: 100%;
}
@media only screen and (min-width: 40.063em)
{
    #gallery-section .columns
    {
        height: 20rem;
    }
    #gallery-overlay-content
    {
        position: absolute;
        bottom: 2rem;
        left: 0;
        width: auto;
    }

    #gallery-overlay-content
    {
        bottom: -5rem;
    }
}
@media only screen and (min-width: 64.063em)
{
    #gallery-section .columns
    {
        height: 30rem;
    }
    #gallery-overlay-content
    {
        position: absolute;
        bottom: 2rem;
        left: 0;
        width: auto;
    }
        #gallery-overlay-content .button
        {
            display: block;
            width: 100%;
        }
    #gallery-section .parallax-bg
    {
        height: 100vh;
        max-height: 60rem;
    }
}
@media only screen and (orientation: portrait) and (max-width: 64em)
{
    #gallery-section .columns
    {
        height: 20rem;
    }
}

.map-link
{
    margin-top: 2rem;
    text-align:center;
}
    .map-link .coming-soon span
    {
        padding-right:0;
        display: block;
    }



/* Gallery Page */
#gallery-nav
{
    margin-top: 2rem;
}
.final-tiles-gallery .tile img.item.greyscale
{
    -webkit-filter: grayscale(1);
	-webkit-filter: grayscale(100%);
	filter: grayscale(100%);
}
.final-tiles-gallery .tile:hover img.item.greyscale
{
    -webkit-filter: grayscale(0);
	-webkit-filter: grayscale(0%);
	filter: initial;
	filter: grayscale(0%);
}

.watermark::after
{
    content: ' ';
    display: block;
    width: 6rem;
    height: 6rem;
    position: absolute;
    bottom: 0.25rem;
    left: 0.25rem;
    background-image: url('/Images/Watermark.png');
    background-size: contain;
    background-repeat: no-repeat;
    transition: all ease 0.5s;
}
.watermark-subtle::after
{
    background-image: url('/Images/Watermark-White.png');
    width: 85px;
    height: 45px;
}
.watermark-right::after
{
    left: auto;
    right: 0.25rem;
}
.watermark-top::after
{
    bottom: auto;
    top: 0.25rem;
}
@media only screen and (min-width: 40.063em)
{
    .watermark::after
    {
        width: 10rem;
        height: 10rem;
        bottom: 0.5rem;
        left: 0.5rem;
    }
    .watermark-subtle::after
    {
        width: 102px;
        height: 54px;
    }
    .watermark-right::after
    {
        left: auto;
        right: 0.5rem;
    }
    .watermark-top::after
    {
        bottom: auto;
        top: 0.5rem;
    }
}
@media only screen and (min-width: 64.063em)
{
    .watermark::after
    {
        width: 15rem;
        height: 15rem;
        bottom: 1rem;
        left: 1rem;
    }
    .watermark-subtle::after
    {
        width: 170px;
        height: 90px;
    }
    .watermark-right::after
    {
        left: auto;
        right: 1rem;
    }
    .watermark-top::after
    {
        bottom: auto;
        top: 1rem;
    }
}

/* Location */

.location-details h1,
.location-details h2,
.location-details h3
{
    margin: 0 0 0.5rem 0;
    line-height: 2rem;
}
.location-image
{
    position: relative;
}
    .location-image .location-marker
    {
        display: block;
        position: absolute;
        top: 50%;
        left: 50%;
        height: 10rem;
        width: 10rem;
        margin-left: -5rem;
        margin-top: -10rem;
    }

.location-feature
{
    position: relative;
    z-index: 1;
    overflow: hidden;
    border: solid 5px #ffffff;
    border-radius: 50%;
    box-shadow: 0px 0px 0.3rem 0px rgba(0,0,0,0.7);
    padding-top: 100%;
}
    .location-feature > div
    {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-size: cover;
        background-repeat: no-repeat;
        background-position: center center;
    }
/* Move location feature 5rem above container on small only */
@media only screen and (max-width: 40em)
{
    .location-feature
    {
        top: -5rem;
    }
}
@media only screen and (min-width: 40.063em)
{
}
@media only screen and (min-width: 64.063em)
{
    .location-details h1
    {
        line-height: 2.5rem;
    }
    .location-details h2
    {
        line-height: 2.5rem;
    }
}



/* Schedulicity Embed Code */
.schedulicity
{
    background-color: #ffffff;
}
    section.schedulicity.bottom-angled::after
    {
        border-top-color: #ffffff;
    }
.schedulicity-embed
{
    max-width: none !important;
    width: 100% !important;
    border-width: 0px !important;
    background-color: #ffffff !important;
}
    .schedulicity-embed iframe
    {
        background-color: #ffffff !important;
    }
