:root {
    --primary-text: #212529;
    --tint: #f1eef9;
    --secondary: #212529;
    --accent: #212529;
    --primary: #BA181B;
    --tint: #f5f4f7;
    --font-size-sm: clamp(0.8rem, 0.17vw + 0.76rem, 0.89rem);
    --font-size-base: clamp(1rem, 0.34vw + 0.91rem, 1.125rem);
    --font-size-md: clamp(1.25rem, 0.61vw + 1.1rem, 1.58rem);
    --font-size-lg: clamp(1.56rem, 1vw + 1.31rem, 2.11rem);
    --font-size-xl: clamp(1.95rem, 1.56vw + 1.56rem, 2.81rem);
    --font-size-xxl: clamp(2.44rem, 2.38vw + 1.85rem, 3.75rem);
    --font-size-xxxl: clamp(3.05rem, 3.54vw + 2.17rem, 5rem);
    
}
* {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    transform: translateZ(0);
    -webkit-transform: translateZ(0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    outline: none;
}
html {
    font-size: 1em;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    width: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
html, body {
    margin:0;
    padding:0;
    height:100%;
    width:100%;
    position: relative;
    overflow: hidden;
    color:var(--primary-text);
    font-family: "Raleway", sans-serif;
    font-weight: 300;
    line-height: 1.45;
    -webkit-font-feature-settings: 'lnum' 1;
            font-feature-settings: 'lnum' 1;
    background-color: var(--accent);
}
body {
    font-size: var(--font-size-base);
}
/* Typography */
a, 
a:visited {
    color: var(--primary);
    text-decoration: none;
    transition: all .25s ease;
    -webkit-transition: all .25s ease;
    -moz-transition: all .25s ease;
    -ms-transition: all .25s ease;
    -o-transition: all .25s ease;
}
a:hover,
a:focus {
    color: var(--accent);
    text-decoration: underline;
}
h1, h2, h3, h4 {
    font-family: 'Oswald', sans-serif;
}
h1 {
    font-size: var(--font-size-xl);
}
h2 {
    font-size: var(--font-size-lg);
    color: var(--accent);
}
h3 {
    font-size: var(--font-size-md);
    color: var(--accent);
}
h4 {
    font-size: var(--font-size-base);
}
p {
    font-size: var(--font-size-base);
    max-width: 55rem;
    margin-left: auto;
    margin-right: auto;
    margin-top: 1rem;
    margin-bottom: 0;
}
strong {
    font-weight: 600;
    color: var(--accent);
}
strong.white-text {
    color: #fff;
}
.xl-text {
    font-size: var(--font-size-xxxl);    
}
.heading {
    font-family: 'snellbold';
    font-weight:normal;
    font-style: normal;
    line-height: 1;
    margin: 0 0 2rem 0;
    padding: 0 0 0 0.75rem;
    letter-spacing: -0.125rem;
    text-shadow: 2px 2px 3px rgba(0,0,0,0.125);
}
.script {
    font-family: 'snellbold';
    text-align: center;
    line-height: 1;
}
.sub-heading {
    text-transform: uppercase;
    letter-spacing: 0.125rem;
    font-size: var(--font-size-base);
    margin: 1rem 0
}
.heading + .sub-heading {
    margin-top: -1rem;
    margin-bottom: 2rem;
}
#banner .heading + .sub-heading {
    margin-top: 0;
}
section.content {
    padding: 2rem 0;
}

.column_group.justify_center {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}
#wrapper {
    opacity: 1;
    transition: all .3s ease;
    -webkit-transition: all .3s ease;
    -moz-transition: all .3s ease;
    -ms-transition: all .3s ease;
    -o-transition: all .3s ease;
    background-color: #fff;
}
.ready #wrapper {
    opacity: 1;
}
.canvas {
    position: relative;
    height: 100%;
    width: 100%;
    overflow: hidden;
}
.scrollable {
    height: 100%;
    width: 100%;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
    overflow-x: hidden;
    background: #fff;
}
#masthead {
    padding: 1rem 0;
    top: 0;
    left: 0;
    width: 100%;
    background: #fff;
    position: -webkit-sticky;
    position: sticky;
    z-index: 999;
    -webkit-box-shadow: 0 2px 1px -1px rgba(0,0,0,0.1);
            box-shadow: 0 2px 1px -1px rgba(0,0,0,0.1);
    border-top: 5px solid var(--primary);
}
#masthead .column_group {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
}
.logo_column {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
    max-width: 380px;
    padding-right: 2rem;
}
#masthead .site_logo {
    width:100%;
}
#masthead .site_logo a {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
}
#masthead .site_logo .logo {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 35%;
            flex: 1 1 35%;
    margin-right: 1rem;
}
#masthead .site_logo .wordmark {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 65%;
            flex: 1 1 65%;
}
#masthead .site_logo .logo span {
    display: block;
    width:100%;
    height:0;
    padding-bottom: 63%;
    background-image:url(../assets/img/logo.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}

#masthead .site_logo .wordmark  span{
    display: block;
    width:100%;
    height:0;
    padding-bottom: 28.65%;
    background-image:url(../assets/img/wordmark.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}
.nav_column {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
}
#site_navigation {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    font-size: var(--font-size-sm);
}
#flyin_panel #site_navigation {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}
#site_navigation ul {
    margin:0 -1.5rem 0 0;
    padding:0;
    list-style: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
}
#site_navigation ul li {
    position: relative;
}
#site_navigation ul .sub_menuitem {
    position: absolute;
    bottom: 0;
    left: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    list-style: none;
    margin: 0;
    padding: 2rem 0 0 0;
    background: #fff;
    height: auto;
    -webkit-transform: translate(0, 100%);
    -ms-transform: translate(0, 100%);
    transform: translate(0, 100%);
    width: 220px;
    text-align: left;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
    overflow-x: hidden;
    -webkit-transition: all .75s 0s cubic-bezier(0.175, 0.885, 0.32, 1.1);
    -o-transition: all .75s 0s cubic-bezier(0.175, 0.885, 0.32, 1.1);
    transition: all .75s 0s cubic-bezier(0.175, 0.885, 0.32, 1.1);
}
.sub_menuitem {
    max-height: 0;
    opacity: 0;
}
#site_navigation ul li:hover > .sub_menuitem {
    max-height: calc(100vh - 7rem);
    opacity: 1;
}
.sub_menuitem li {
    text-align: left;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    width: 100%;
    border-bottom: 1px solid #ddd;
    text-transform: uppercase;
    font-weight: 600;
    font-family: 'Oswald';
}
#flyin_panel #site_navigation ul {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
            margin: 2rem 0 0 0;
}
#site_navigation li {
    padding: 0.5rem 1.5rem;
}
#site_navigation .sub_menuitem li {
    padding: 0;
}
#flyin_panel #site_navigation li {
    padding: 1rem;
}
#site_navigation a {
    text-decoration: none;
    color: var(--accent);
    padding-bottom: 0.5rem;
    margin-bottom: -0.5rem;
    display: block;
    line-height: 1;
    position: relative;
    font-weight: 600;
    font-family: 'Oswald';
    text-transform: uppercase;
    -webkit-transition: all .25s cubic-bezier(0.4, 0.0, 0.6, 1);
    -o-transition: all .25s cubic-bezier(0.4, 0.0, 0.6, 1);
    transition: all .25s cubic-bezier(0.4, 0.0, 0.6, 1);
    -moz-transition: all .25s cubic-bezier(0.4, 0.0, 0.6, 1);
    -ms-transition: all .25s cubic-bezier(0.4, 0.0, 0.6, 1);
}
#site_navigation a:hover,
#site_navigation a:focus,
#site_navigation a:active,
#site_navigation a.active {
    color: var(--primary);
}
#site_navigation a:after {
    content: '';
    position: absolute;
    width:0%;
    height:2px;
    bottom: 0;
    left: 50%;
    display: block;
    background-color: var(--primary);
    -webkit-transition: all .35s cubic-bezier(0.4, 0.0, 0.6, 1);
    -o-transition: all .35s cubic-bezier(0.4, 0.0, 0.6, 1);
    transition: all .35s cubic-bezier(0.4, 0.0, 0.6, 1);
    transform: translate3d(0,0,0);
    -webkit-transform: translate3d(0,0,0);
    -moz-transform: translate3d(0,0,0);
    -ms-transform: translate3d(0,0,0);
    -o-transform: translate3d(0,0,0);
}
#site_navigation a:hover:after,
#site_navigation a:focus:after,
#site_navigation a:active:after,
#site_navigation a.active:after {
    width:100%;
    -webkit-transform: translate3d(-50%,0,0);
    transform: translate3d(-50%,0,0);
    -moz-transform: translate3d(-50%,0,0);
    -ms-transform: translate3d(-50%,0,0);
    -o-transform: translate3d(-50%,0,0);
}
#site_navigation .sub_menuitem a {
    padding: 0.75rem 1.5rem;
    margin: 0.5rem 0 0 0;
}
#site_navigation .sub_menuitem a:after {
    font-family: 'icons' !important;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    width: 1em;
    height: 1em;
    background: transparent;
    -webkit-transform: translate3d(0, -50%, 0);
            transform: translate3d(0, -50%, 0);
    right: 0.5rem;
    top: 50%;
    bottom: unset;
    left: unset;
    content: "\e985";
    font-size: 1.5rem;
}
#site_navigation .sub_menuitem a:hover:after {
    -webkit-transform: translate3d(0.35rem, -50%, 0);
    transform: translate3d(0.35rem, -50%, 0);
    -moz-transform: translate3d(0.35rem, -50%, 0);
    -ms-transform: translate3d(0.35rem, -50%, 0);
    -o-transform: translate3d(0.35rem, -50%, 0);
}
#banner {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    overflow: hidden;
    color: #fff;
    height: 100%;
    max-height: 70vh;
    min-height: 320px;
}
#banner_bg_video,
#banner_bg_img {
    width: 100%;
    height: 0;
    padding-bottom: 56.25%;
    position: relative;
    overflow: hidden;
    z-index: 3;
}
#banner_bg_video video {
    position: absolute;
    top: 50%;
    left: 50%;
    height: auto;
    width: 100%;
    z-index: 3;
    transform: translate3d(-50%,-50%,0);
    -webkit-transform: translate3d(-50%,-50%,0);
    -moz-transform: translate3d(-50%,-50%,0);
    -ms-transform: translate3d(-50%,-50%,0);
    -o-transform: translate3d(-50%,-50%,0);
    /*
    -webkit-filter: grayscale(1);
        filter: grayscale(1);
    */
}
#banner .container {
    z-index: 9;
    position: absolute;
}
#banner:before {
    content: '';
    background-image: url(../assets/img/banner_4.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 50% 50%;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    /*
    -webkit-filter: grayscale(1);
        filter: grayscale(1);
    */
    z-index: 1;
}
#banner[data-id="benefits"]:before {
    background-image: url(../img/banner_bg_3.jpg);
    background-position: 50% 75%;
}
#banner[data-id="services"]:before {
    background-image: url(../assets/img/banner_7.jpg);
    background-position: 50% 50%;
    -webkit-filter: grayscale(1);
            filter: grayscale(1);
}
#banner[data-id="about"]:before {
    background-image: url(../assets/img/banner_6.jpg);
    background-position: 50% 50%;
    -webkit-filter: grayscale(1);
            filter: grayscale(1);
}
#banner[data-id="about"]:after,
#banner[data-id="services"]:after,
#banner video:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    /*
    background: rgba(245,244,247,0.75);
    background: rgba(109,86,192,0.75);
    */
    z-index: 4;
    background: rgba(0,0,0,0.75);
}

#banner h1 {
    color: var(--accent);
    color: #fff;
}
#banner p {
    font-weight: 400;
    max-width: 30rem;
    color: rgba(255,255,255,0.8);
    font-family: 'Oswald';
}
#banner h2,
#banner p, 
#banner button,
#banner .button {
    opacity: 0;
    -webkit-transform: translate(0,40px);
    -ms-transform: translate(0,40px);
    transform: translate(0,40px);
    -moz-transform: translate(0,40px);
    -o-transform: translate(0,40px);
}
#banner h2 {
    -webkit-transition: all .75s .15s cubic-bezier(0.4, 0.0, 0.6, 1);
    -o-transition: all .75s .15s cubic-bezier(0.4, 0.0, 0.6, 1);
    transition: all .75s .15s cubic-bezier(0.4, 0.0, 0.6, 1);
}
#banner p {
    -webkit-transition: all .65s .25s cubic-bezier(0.4, 0.0, 0.6, 1);
    -o-transition: all .65s .25s cubic-bezier(0.4, 0.0, 0.6, 1);
    transition: all .65s .25s cubic-bezier(0.4, 0.0, 0.6, 1);
    -moz-transition: all .65s .25s cubic-bezier(0.4, 0.0, 0.6, 1);
    -ms-transition: all .65s .25s cubic-bezier(0.4, 0.0, 0.6, 1);
}
#banner button,
#banner .button {
    -webkit-transition: all .55s .35s cubic-bezier(0.4, 0.0, 0.6, 1);
    -o-transition: all .55s .35s cubic-bezier(0.4, 0.0, 0.6, 1);
    transition: all .55s .35s cubic-bezier(0.4, 0.0, 0.6, 1);
    -moz-transition: all .55s .35s cubic-bezier(0.4, 0.0, 0.6, 1);
    -ms-transition: all .55s .35s cubic-bezier(0.4, 0.0, 0.6, 1);
}
.ready #banner h2,
.ready #banner p,
.ready #banner .button {
    opacity: 1;
    -webkit-transform: translate(0,0);
    -ms-transform: translate(0,0);
    transform: translate(0,0);
    -moz-transform: translate(0,0);
    -o-transform: translate(0,0);
}

#flyin_panel {
    position: fixed;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background: rgba(0,0,0,0.3);
    z-index: 999;
    /*
    -webkit-transition: all .35s cubic-bezier(0.4, 0.0, 0.6, 1);
    -o-transition: all .35s cubic-bezier(0.4, 0.0, 0.6, 1);
    transition: all .35s cubic-bezier(0.4, 0.0, 0.6, 1);
    visibility: hidden;
    opacity: 0;
    */
   -webkit-animation-name: flyout;
           animation-name: flyout;
    -webkit-animation-fill-mode: forwards;
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
   -webkit-animation-timing-function:cubic-bezier(0.4, 0.0, 0.6, 1);
           animation-timing-function:cubic-bezier(0.4, 0.0, 0.6, 1);
           -webkit-animation-duration: .35s;
                   animation-duration: .35s;
                   -webkit-animation-delay: .35s;
                           animation-delay: .35s;
}
#flyin_content {
    height: 100%;
    width: 100%;
    max-width: 540px;
    background: #fff;
    position: absolute;
    top: 0;
    right: 0;
    -webkit-transition: all .35s 0s cubic-bezier(0.4, 0.0, 0.6, 1);
    -o-transition: all .35s 0s cubic-bezier(0.4, 0.0, 0.6, 1);
    transition: all .35s 0s cubic-bezier(0.4, 0.0, 0.6, 1);
    -webkit-transform: translate3d(100%,0,0);
    transform: translate3d(100%,0,0);
    -moz-transition: all .35s 0s cubic-bezier(0.4, 0.0, 0.6, 1);
    -ms-transition: all .35s 0s cubic-bezier(0.4, 0.0, 0.6, 1);
}
#flyin_panel_header {
    border-bottom: 1px solid #efefef;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    background: #fff;
    position: absolute;
    width: 100%;
    top: 0;
    left: 0;
    z-index: 2;
    padding: 0 1rem;
}
.contactIsVisible #flyin_panel,
.navIsVisible #flyin_panel {
    /*
    visibility: visible;
    opacity: 1;
    -webkit-transition: all .35 .35s cubic-bezier(0.4, 0.0, 0.6, 1);
    -o-transition: all .35 .35s cubic-bezier(0.4, 0.0, 0.6, 1);
    transition: all .35 .35s cubic-bezier(0.4, 0.0, 0.6, 1);
    -moz-transition: all .35 .35s cubic-bezier(0.4, 0.0, 0.6, 1);
    -ms-transition: all .35 .35s cubic-bezier(0.4, 0.0, 0.6, 1);
    */
    -webkit-animation-name: flyin;
            animation-name: flyin;
    -webkit-animation-duration: .35s;
          animation-duration: .35s;
          -webkit-animation-fill-mode: forwards;
                  animation-fill-mode: forwards;
                  -webkit-animation-delay: 0s;
                          animation-delay: 0s;
}
.contactIsVisible #flyin_content,
.navIsVisible #flyin_content {
    -webkit-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
    -moz-transform: translate3d(0,0,0);
    -ms-transform: translate3d(0,0,0);
    -o-transform: translate3d(0,0,0);
    -webkit-box-shadow: 0 0 5px rgba(0,0,0,.3);
            box-shadow: 0 0 5px rgba(0,0,0,.3);
}
#flyin_panel_content .profile_card {
    padding: 2rem 0;
}

button > span[tabindex='-1'].hasIcon {
    font-size: var(--font-size-sm);
    line-height: 1rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}
.hasIcon {
    position: relative;
}
.hasIcon.phone:before,
.hasIcon.email:before,
.hasIcon.close:before,
.hasIcon.directions:before {
    font-family: 'icons' !important;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.hasIcon.phone,
.hasIcon.email,
.hasIcon.directions {
    position: relative;
    padding-left: 1.75rem;
    display: table;
}
.hasIcon.phone:before,
.hasIcon.email:before,
.hasIcon.directions:before {
    position: absolute;
    top: 0.25rem;
    left: 0;
    opacity: 0.5;
}
.hasIcon.phone:before {
    content: "\e973";
}
.hasIcon.email:before {
    content: "\e906";
}
.hasIcon.directions:before {
    content: "\e908";
}
.hasIcon.close:before {
    content: "\e910";
    font-size: 1.5rem;
}

hr {
    width: 4rem;
    height: 2px;
    margin: 1rem auto;
    background: var(--primary);
    border: none;
    outline: none;
    line-height: 1;
    display: block;
}
/* ----------------------------- */
/* Button Styles */
button,
.button {
    -moz-appearance: none;
    appearance: none;
    -webkit-appearance: none;
    border: none;
    padding: 0;
    margin: 0;
    line-height: 1;
    outline: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
    background: transparent;
    display: inline-block;
    text-decoration: none;
    font-size: var(--font-size-sm);
    cursor: pointer;
    font-family: 'Oswald';
    font-weight: 600;
}
button:focus,
button:active,
.button:focus,
.button:active {
    -moz-appearance: none;
    appearance: none;
    -webkit-appearance: none;
    border: none;
    outline: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
    background: transparent;
    text-decoration: none;
    cursor: pointer;
}
button > span[tabindex='-1'],
.button > span[tabindex='-1'] {
    font-size: var(--font-size-sm);
    text-transform: uppercase;
    outline: none;
    padding: 0.75rem 1rem;
    display: block;
    border: 1px solid;
    border-radius: 2px;
    -webkit-transition: all 0.25s cubic-bezier(0.455, 0.030, 0.515, 0.955);
    -o-transition: all 0.25s cubic-bezier(0.455, 0.030, 0.515, 0.955);
    transition: all 0.25s cubic-bezier(0.455, 0.030, 0.515, 0.955);
    font-style: normal;
    font-weight: 600;
    position: relative;
    text-align: center;
    text-decoration: none;
    width: 100%;
}
#banner .button {
    width: 100%;
}

button:hover > span[tabindex='-1'],
.button:hover > span[tabindex='-1'],
a.button:hover,
a.button:hover > span[tabindex='-1'] {
    text-decoration: none;
}
button:focus > span[tabindex='-1'],
.button:focus > span[tabindex='-1'] {
    -webkit-box-shadow: 0 0 1px 2px #406ebc;
    box-shadow: 0 0 1px 2px #406ebc;
    -webkit-box-shadow: 0 0 1px 2px rgba(52, 152, 219, 1.0);
    box-shadow: 0 0 1px 2px rgba(52, 152, 219, 1.0)
}

.button--white span[tabindex='-1'] {
    background: #fff;
    border: 1px solid #fff;
    color: var(--primary);
}
.button--white:hover span[tabindex='-1'],
.button--white:focus span[tabindex='-1'] {
    background: var(--primary);
    border: 1px solid var(--primary);
    color: #fff;
}


.button--primary span[tabindex='-1'] {
    background: var(--primary);
    border: 1px solid var(--primary);
    color: #fff;
}

.button--primary:hover span[tabindex='-1'],
.button--primary:focus span[tabindex='-1'] {
    background: #fff;
    border: 1px solid var(--primary);
    color: var(--primary);
}

.button--alternate span[tabindex='-1'] {
    background: transparent;
    border: 1px solid var(--accent);
    color: var(--accent);
}

.button--alternate:hover span[tabindex='-1'],
.button--alternate:focus span[tabindex='-1'] {
    background: var(--accent);
    border: 1px solid var(--accent);
    color: #fff;
}

.button--inverted span[tabindex='-1'] {
    border: 1px solid var(--primary);
    color: var(--primary);
}

.button--inverted:hover span[tabindex='-1'],
.button--inverted:focus span[tabindex='-1'] {
    background: var(--primary);
    border: 1px solid var(--primary);
    color: #fff;
}

.button--outline-white span[tabindex='-1'] {
    border: 1px solid #fff;
    color: #fff;
    background: transparent;
}

.button--outline-white:hover span[tabindex='-1'],
.button--outline-white:focus span[tabindex='-1'] {
    background: #fff;
    border: 1px solid #fff;;
    color:var(--primary);
}

.button--menu,
.button--menu:focus,
.button--menu:active {
    margin: 0 0 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
}
.button--menu span[tabindex='-1'] {
    padding: 0.1905rem;
    line-height: 1rem;
}
.button--menu span[tabindex='-1']:before {
    font-family: 'icons' !important;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: "\e960";
    font-size: 1.5rem;
}
.button--close_menu span {
    color: #fff;
}
.button--close_menu span[tabindex='-1'] {
    border: none;
    padding: 0.5rem;
    font-size: 1rem;
    line-height: 1;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}
.button--close_menu span[tabindex='-1']:before {
    content: 'close';
    color: #fff;
    text-transform: capitalize;
    font-size: 1rem;
    margin-right: 0.5rem;
}
.button--close_menu span[tabindex='-1']:after {
    font-family: 'icons' !important;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: "\e910";
    border-radius: 100%;
    -webkit-border-radius: 100%;
    -moz-border-radius: 100%;
    -ms-border-radius: 100%;
    -o-border-radius: 100%;
    color: #fff;
    background-color: var(--lvc-extra-light-blue);
    height: 1.5rem;
    width: 1.5rem;
    font-size: 1rem;
    line-height: 1.5rem;
}
.navIsVisible .button--menu span[tabindex='-1']:before {
    content: "\e910";
}

.nav-list {
    list-style:none;
    margin: 0;
    padding: 0;
    
}
.nav-list.horizontal {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
            margin: 0 0 0 auto;
}
.button_group {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
}
.button_group ul {
    margin: 0 0 0 -1.5rem;
    padding: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    list-style: none;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}
#banner .button_group ul {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    max-width: 32rem;
}
.button_group li {
    margin-left: 1rem;
    padding: 0.5rem;
    -webkit-box-flex: 1;
        -ms-flex: auto;
            flex: auto;
}
button#nav_toggle > span[tabindex='-1'] {
    padding: 0.5rem;
    border:none;
}
#nav_toggle span:before {
    font-family: 'icons' !important;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: "\e918";
    font-size: 2rem;
    color: var(--primary);
}
#info_cards {
    padding: 3rem 0 1rem 0;
}
#info_cards .column_group {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}
#info_cards .column {
    margin-bottom: 2rem;
}
.info_card {
    background: #fff;
    /*
    -webkit-box-shadow: 5px 5px 15px rgba(0,0,0,0.1);
            box-shadow: 5px 5px 15px rgba(0,0,0,0.1);
    */
    -webkit-box-shadow: 0 0 5px 1px rgba(0, 0, 0, 0.1);
        box-shadow: 0 0 5px 1px rgba(0, 0, 0, 0.1);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
}
.info_card .article_content {
    padding: 2rem 1rem 1rem 1rem;
    position: relative;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
            -webkit-box-flex: 1;
                -ms-flex: auto;
                    flex: auto;
    margin: 0;
    text-align: center;
}
.info_card .article_content h2,
.info_card .article_content h3 {
    margin: 0 0 1rem 0;
    color: var(--accent);
    position: relative;
    padding: 0 0 1rem 0;
    line-height: 1;
    font-size: var(--font-size-xl);
}
.info_card .article_content h2:after,
.info_card .article_content h3:after {
    content: '';
    height: 2px;
    width: 30px;
    display: block;
    background: var(--primary);
    position: absolute;
    bottom: 0;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
        -ms-transform: translate(-50%, 0);
            transform: translate(-50%, 0);

}

.info_card .article_content p {
    margin: 1rem 0 0 0;
}
.info_card .article_footer {
    margin: auto 0 0 0;
    border-top: 1px solid #ededed;
    width: 100%;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
}
.info_card .article_footer a {
    padding: 1rem;
    display:block;
    overflow: hidden;
    -webkit-transition: all .35s cubic-bezier(0.4, 0.0, 0.6, 1);
    -o-transition: all .35s cubic-bezier(0.4, 0.0, 0.6, 1);
    transition: all .35s cubic-bezier(0.4, 0.0, 0.6, 1);
    font-weight: 600;
    text-transform: uppercase;
    font-size: var(--font-size-sm);
    position: relative;
    width: 100%;
}
.info_card .article_footer a:before {
    font-family: 'icons' !important;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: "\e995";
    font-size: 1.5rem;
    position: absolute;
    top: 50%;
    right: 1rem;
    -webkit-transform: translate3d(-100%,-50%,0);
    transform: translate3d(-100%,-50%,0);
    -webkit-transition: all .35s cubic-bezier(0.4, 0.0, 0.6, 1);
    -o-transition: all .35s cubic-bezier(0.4, 0.0, 0.6, 1);
    transition: all .35s cubic-bezier(0.4, 0.0, 0.6, 1);
    color: #fff;
    -moz-transform: translate3d(-100%,-50%,0);
    -ms-transform: translate3d(-100%,-50%,0);
    -o-transform: translate3d(-100%,-50%,0);
    opacity: 0;
}
.info_card .article_footer a:after {
    content: '';
    background: var(--primary);
    position: absolute;
    top: 0%;
    left: 0;
    height: 100%;
    width: 100%;
    display: block;
    z-index:-1;
    -webkit-transform: translate(0,100%);
    -ms-transform: translate(0,100%);
    transform: translate(0,100%);
    -moz-transform: translate(0,100%);
    -o-transform: translate(0,100%);
    -webkit-transition: all .35s cubic-bezier(0.4, 0.0, 0.6, 1);
    -o-transition: all .35s cubic-bezier(0.4, 0.0, 0.6, 1);
    transition: all .35s cubic-bezier(0.4, 0.0, 0.6, 1);
}
.info_card .article_footer a:hover,
.info_card .article_footer a:focus,
.info_card .article_footer a:active {
    text-decoration: none;
    color: #fff;
}
.info_card .article_footer a:hover:after,
.info_card .article_footer a:focus:after,
.info_card .article_footer a:active:after {
    -webkit-transform: translate(0,0);
    -ms-transform: translate(0,0);
    transform: translate(0,0);
    -moz-transform: translate(0,0);
    -o-transform: translate(0,0);
}
.info_card .article_footer a:hover:before,
.info_card .article_footer a:focus:before,
.info_card .article_footer a:active:before {
    -webkit-transform: translate3d(0,-50%,0);
    transform: translate3d(0,-50%,0);
    -moz-transform: translate3d(0,-50%,0);
    -ms-transform: translate3d(0,-50%,0);
    -o-transform: translate3d(0,-50%,0);
    opacity: 1;
}
.info_card .info_header {
    position: relative;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin: 0;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    -webkit-transform:translate3d(0,0,0);
            transform:translate3d(0,0,0);
}
.info_card .info_header:after {
    content: '';
    position: absolute;
    display: block;
    width: calc(100% - 1rem);
    height: calc(100% - 1rem);
    top: 0;
    left: 0;
    border: 0.5rem solid rgba(255, 255, 255, 0.5);
    -webkit-transform:translate3d(0,0,0);
            transform:translate3d(0,0,0);
}
.isIcon {
    display: block;
    width: 100%;
    position: relative;
    max-width: 60px;
    margin: 0 auto;
    background: var(--primary);
    background: var(--secondary);
    -webkit-transform: translate(-50%,-50%) rotate(45deg);
        -ms-transform: translate(-50%,-50%) rotate(45deg);
            transform: translate(-50%,-50%) rotate(45deg);
    position: absolute;
    top: 0;
    left: 50%;
    border-radius: 8px;
}
.isIcon span {
    display: block;
    width: 100%;
    height: 0;
    padding-bottom: 100%;
    background-position: center;
    background-repeat: no-repeat;
    -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
            transform: rotate(-45deg);
    background-size: 65%;
}
.isIcon.relax span {
    background-image: url(../assets/icons/relax_white.png);
}
.isIcon.head_massage span {
    background-image: url(../assets/icons/head_massage_white.png);
}
.isIcon.back_massage span {
    background-image: url(../assets/icons/back_massage_white.png);
}

section.tint {
    background-color: var(--tint);
    padding: 2rem 0;
}
section.tint.isLast {
    margin-top: 2rem;
}


/*Breadcrumb */
#breadcrumb {
    -webkit-box-shadow: 0 1px 1px -1px rgba(0,0,0,0.3);
            box-shadow: 0 1px 1px -1px rgba(0,0,0,0.3);
    margin-bottom: 1rem;
    padding:1rem 0;
    background-color: #f8f9fa;
}
#breadcrumb ul {
    list-style: none;
    margin: 0;
    padding: 0;
    text-transform: capitalize;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
            font-size: 0.825rem;
}
#breadcrumb span {
    display: inline-block;
    padding-left: 1.25rem;
    margin-left: 0.25rem;
    position: relative;
}
#breadcrumb span:before {
    font-family: 'icons' !important;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: "\e96b";
    position: absolute;
    left: 0;
    top: 50%;
    -webkit-transform: translate(0, -50%);
        -ms-transform: translate(0, -50%);
            transform: translate(0, -50%);
}
.section_heading {
    position: relative;
    margin: 0 0 2rem 0;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid #eee;
    text-transform: uppercase;
}
.section_heading h2,
.section_heading h3 {
    font-family: 'snellbold';
    text-transform: none;
    font-size: var(--font-size-xxl);
    line-height: 1;
    padding-left: 0.75rem;
}
.dark_bg {
    background-color: var(--accent);
    color: #fff;
}
.dark_bg .section_heading {
    border-bottom: 2px solid rgba(255,255,255,0.25);
}
.dark_bg .section_heading h2, 
.dark_bg .section_heading h3 {
    color: #fff;
}
.section_heading:after {
    content: '';
    display: block;
    width: 30px;
    height: 2px;
    background-color: var(--primary);
    position: absolute;
    bottom: -2px;
    left: 0;
}
.section_heading h2,
.section_heading h3 {
    margin: 0;
}
.padded_block {
    padding: 2rem 0;
}
.disclaimer {
    font-size: var(--font-size-sm);
}
/*Footer */

footer {
    background: var(--accent);
    padding: 2rem 0;
    margin: 0;
    color: #fff;
    border-top:5px solid #BA181B;
}
footer a {
    color: #fff;
}
footer a:hover,
footer a:focus {
    color: #fff;
    text-decoration: underline ;
}
footer p.title {
    margin: 0 0 1rem 0;
    font-size: var(--font-size-md);
}
#footer_navigation ul {
    list-style: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: end;
            -ms-flex-pack: end;
                justify-content: flex-end;
    margin: 0 -1rem;
    padding: 0;
}
#footer_navigation ul[role="social_menu"] {
    margin-top: 2rem;
}
#footer_navigation li {
    padding: 0 1rem;
}
#footer_navigation a {
    color: #fff;
    font-size: var(--font-size-sm);
}
#footer_navigation a.facebook,
#footer_navigation a.instagram {
    font-size: var(--font-size-lg);
}
.copyright {
    font-size: 0.825rem;
    margin: 2rem 0 0 0;
}
.footer_contact {
    text-align: right;
    margin: 1rem 0 0 auto;
}
.footer_contact a {
    color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}
.footer_contact a:hover,
.footer_contact a:focus { 
    text-decoration: none;
}
.notBullet {
    list-style: none;
    margin: 0.75rem 0;
    padding: 0;
}
.notBullet li {
    padding: 0.25rem 0;
}
.bullet_list {
    list-style: none;
    margin: 1.5rem 0 2rem 0;
    padding: 0;
}
.bullet_list li {
    position: relative;
    margin-bottom: 2rem;
    padding-left: 1.5rem
}
.bullet_list li:last-child {
    margin-bottom: 0;
}
.bullet_list li:before {
    font-family: 'icons' !important;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: "\e920";
    color: var(--secondary);
    position: absolute;
    left: 0;
    top: 0.2125rem;
    z-index: 2;
}
.bullet_list li:after {
    content: '';
    width: 1px;
    height: calc(100% - 1.2125rem);
    background-color: var(--secondary);
    display: block;
    position: absolute;
    top: 1.2125rem;
    left: 0.5rem;
    margin: -1px 0 0 0;
    z-index: 1;
}
.bullet_list li ul {
    margin: 0.5rem 0 0 0;
    list-style: none;
    padding: 0;
}
.bullet_list li ul li {
    padding: 0;
}
.bullet_list li ul li:before,
.bullet_list li ul li:after {
    display: none;
}
.bullet_list.isColumns[data-count="2"]{
    -webkit-column-count:2;
       -moz-column-count:2;
            column-count:2;
            -webkit-column-gap: 2rem;
               -moz-column-gap: 2rem;
                    column-gap: 2rem;
}
.bullet_list.isColumns li {
    -webkit-column-break-inside: avoid;
    page-break-inside: avoid;
    -moz-column-break-inside: avoid;
    break-inside: avoid;
}
/* Helpers */

img {
    width: 100%;
    max-width: 100%;
    height: auto;
    display: table;
}
.sr_only,
.visually_hidden {
    position: absolute;
    overflow: hidden;
    clip: rect(0 0 0 0);
    height: 1px;
    width: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
}
.block,
.text_block {
    display: block;
    width: 100%;
}
.vid_limiter {
    width: 100%;
    max-width: 720px;
    margin: 0 auto;
}

.flex_video {
    position: relative;
    padding-bottom: 67.5%;
    height: 0;
    overflow: hidden;
}
.flex_video:before {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    content: 'Loading ...';
    background:#000;
    color: #fff;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-weight: 600;
}
.flex_video.widescreen {
    padding-bottom: 56.25%;
}

.flex_video.vimeo {
    padding-top: 0;
}

.flex_video iframe,
.flex_video object,
.flex_video embed,
.flex_video video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
}

.flex_frame {
    position: relative;
    padding-top: 25px;
    padding-bottom: 87.5%;
    height: 0;
    margin-bottom: 0;
    overflow: hidden;
}

.flex_frame iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.placeholder {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background: #000;
}

.placeholder:after {
    color: #fff;
    text-align: center;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate3d(-50%, -50%, 0);
    transform: translate3d(-50%, -50%, 0);
    content: 'Loading ...'
}

.nowrap {
    white-space: nowrap;
}

.media_card {
    margin: 2rem 0;
    padding: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-transition: all .75s cubic-bezier(0.4, 0.0, 0.6, 1);
    -o-transition: all .75s cubic-bezier(0.4, 0.0, 0.6, 1);
    transition: all .75s cubic-bezier(0.4, 0.0, 0.6, 1);
    -moz-transition: all .75s cubic-bezier(0.4, 0.0, 0.6, 1);
    -ms-transition: all .75s cubic-bezier(0.4, 0.0, 0.6, 1);
    opacity: 0;
    -webkit-transform: translate(0,40px);
    -ms-transform: translate(0,40px);
    transform: translate(0,40px);
    -moz-transform: translate(0,40px);
    -o-transform: translate(0,40px);
}
.media_card.inView {
    opacity: 1;
    -webkit-transform: translate(0,0);
    -ms-transform: translate(0,0);
    transform: translate(0,0);
    -moz-transform: translate(0,0);
    -o-transform: translate(0,0);
}
.figure_media {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 60%;
            flex: 0 0 60%;
    position: relative;
    z-index: 1;
}
.img_deco {
    position: relative;
    z-index: 1;
}
.figure_media:after,
.img_deco:after {
    content: '';
    position: absolute;
    top: 1rem;
    left: 1rem;
    height: calc(100% - 2rem);
    width: calc(100% - 2rem);
    border: 2px solid var(--secondary);
}
.media_card figcaption {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 60%;
            flex: 0 0 60%;
    padding: 2rem;
    margin-left: -20%;
    background: #fff;
    position: relative;
    z-index: 2;
}
.media_card.reverse figcaption {
    margin-left: 0;
    margin-right: -20%;
}
.button.hasIcon.play span[tabindex='-1'] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
            padding-right: 3rem;
            min-width: 120px;
    text-align: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}
.button.hasIcon.play span[tabindex='-1']:after {
    font-family: 'icons' !important;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: "\e927";
    font-size: 1.5rem;
    position: absolute;
    top: 50%;
    right: 1rem;
    -webkit-transform: translate(0, -50%);
        -ms-transform: translate(0, -50%);
            transform: translate(0, -50%);
}
table {
    width:100%;
    margin: 1rem 0;
    border-collapse: collapse;
    font-size: var(--font-size-sm);
}
tr:nth-child(odd){
    background-color: var(--tint);
}
td {
    padding: 0.5rem;
}

#rates {
    background-image: url(../assets/img/banner_5.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 3rem 0 2rem 0;
    position: relative;
    color: #fff;
}
#rates:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background: rgba(22,26,29,0.75);
    z-index: 2;
}
#rates .container {
    z-index: 3;
}
.service_categories {
    -webkit-column-count: 3;
       -moz-column-count: 3;
            column-count: 3;
    margin: 1rem -2rem;
    width: calc(100% + 4rem);
}
.service_category {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
            -webkit-column-break-inside: avoid;
               -moz-column-break-inside: avoid;
                    break-inside: avoid-column;
            padding: 0 2rem;
            margin-bottom: 1rem;
}
.service_item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    margin: 0 1rem 1rem 1rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.25);
    text-transform: uppercase;
    font-weight: 600;
    font-size: var(--font-size-sm);
}
.service_title {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
    position: relative;
}

.service_rate {
    -webkit-box-flex: 1;
        -ms-flex: auto;
            flex: auto;
    padding-left: 1rem;
    min-width: 80px;
    text-align: right;
}
.service_rate.align_left {
    text-align: left;
    padding-left: 0;
}
.category_title {
    font-weight: 700;
    border-bottom: 1px solid rgba(255,255,255,0.25);
    margin: 1rem 0;
    padding-bottom: 1rem;
    line-height: 1;
    text-transform: uppercase;
}
.service_subheading {
    font-weight: 700;
    font-size: var(--font-size-md);
}
.service_sublisting {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    margin: 1rem 0;
    list-style: none;
    padding: 0;
    background: #eee;
    /* font-size: 0.825rem; */
    font-size: var(--font-size-sm);
    font-weight: 600;
}
.service_sublisting li {
    padding: 0.5rem;
}
.note {
    font-size: var(--font-size-sm);
}
button.service_heading > span[tabindex='-1'],
button.service_heading:hover > span[tabindex='-1'],
button.service_heading:active > span[tabindex='-1'] {
    border: 1px solid var(--primary);
    background: rgb(126,16,18);
    background: -o-linear-gradient(320deg, rgba(126,16,18,1) 0%, rgba(186,24,27,1) 100%);
    background: linear-gradient(130deg, rgba(126,16,18,1) 0%, rgba(186,24,27,1) 100%);
    color: #fff;
    text-align: left;
    padding: 0.5rem 1rem;
    margin: 0 0 1rem 0;
    font-size: var(--font-size-base);
    position: relative;
    cursor: text;
}
.service_category h3 {
    color: #fff;
    position: relative;
    text-transform: uppercase;
    background: rgb(126,16,18);
    background: -o-linear-gradient(320deg, rgba(126,16,18,1) 0%, rgba(186,24,27,1) 100%);
    background: linear-gradient(130deg, rgba(126,16,18,1) 0%, rgba(186,24,27,1) 100%);
    padding: 0.5rem 1rem;
    line-height: 1.1;
    font-size: var(--font-size-base);
}
.toggle .service_pane {
    display: none;
    padding-bottom: 1rem;
}
.gallery {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}
.img_gallery {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    overflow: hidden;
    padding: 5px;
}
.img_gallery img {
    border-radius: 4px;
}
@media screen and (max-width:979px){
    .service_categories {
        -webkit-column-count: 2;
           -moz-column-count: 2;
                column-count: 2;
    }
}
@media screen and (max-width:639px){
    .service_category {
        margin-bottom: 0;
    }
    .service_categories {
        -webkit-column-count: 1;
           -moz-column-count: 1;
                column-count: 1;
    }
    button.service_heading > span[tabindex='-1'],
    button.service_heading:hover > span[tabindex='-1'],
    button.service_heading:active > span[tabindex='-1'] {
        padding-right: 3rem;
        cursor: pointer;
        width: 100%;
        display: block;
    }
    .active button.service_heading > span[tabindex='-1'],
    button.service_heading:hover > span[tabindex='-1'],
    button.service_heading:active > span[tabindex='-1'] {
        background: #fff;
        border: 1px solid #fff;
        color: var(--primary);
    }
    button.service_heading > span[tabindex='-1']:after {
        font-family: 'icons' !important;
        font-style: normal;
        font-weight: normal;
        font-variant: normal;
        text-transform: none;
        line-height: 1;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        content: "\e97e";
        position: absolute;
        top: 50%;
        right: 1rem;
        -webkit-transform: translate(0, -50%);
            -ms-transform: translate(0, -50%);
                transform: translate(0, -50%);
        font-size: 2rem;
    }
    .active button.service_heading > span[tabindex='-1']:after {
        content: "\e97d";
    }
}
.rates {
    display: none;
}
.rates ul {
    margin: 1rem 0;
    padding: 1rem 0;
    list-style: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    border-top: 2px solid var(--primary);
    border-bottom: 2px solid var(--primary);
}
.rates li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
   -webkit-box-orient: horizontal;
   -webkit-box-direction: normal;
       -ms-flex-direction: row;
           flex-direction: row;
    font-size: var(--font-size-sm);
    font-weight: 600;
    padding: 0.5rem;
}
.rates li:nth-child(even) {
    background: #eee;
}
.rates li span:first-child {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 100%;
            flex: 1 1 100%;
}
.rates li span:last-child {
    -webkit-box-flex: 1;
        -ms-flex: auto;
            flex: auto;
            white-space: nowrap;
}
.about_profile {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin: 2rem 0;
    padding: 0;
}
.about_profile .figure_img {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -ms-flex-item-align: start;
        align-self: flex-start;
    background: rgba(0,0,0,0.5);
}
.about_profile .figure_img img {
    max-width: 520px;
    margin: 0 auto;
}
.about_profile figcaption {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 75%;
            flex: 0 0 75%;
    padding-left: 2rem;
}
.about_profile figcaption p {
    margin: 0.5rem 0;
}

footer .address ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
footer .address li {
    line-height: 1.5rem;
    padding: 0.25rem 0;
}
footer .address li.title {
    font-size: 1.25rem;
    margin-bottom: 1rem;
}
footer .address a, 
footer .address a:visited {
    color: #fff;
}
.social_ctas {
    position: absolute;
    bottom: 1rem;
    right: 2rem;
    z-index: 3;
    padding: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
}
.social_ctas ul,
.mobile_social_ctas ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
} 
.mobile_social_ctas ul {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
            margin: 2rem 0 0 0;
}
.social_ctas li {
    padding: 0.5rem;
}
.mobile_social_ctas li {
    padding: 0 1rem;
}
.social_ctas a {
    color: #fff;
    font-size: 2rem;
    display: block;
    width: 3rem;
    height: 3rem;
    border-radius: 100%;
    background:transparent;
    text-align: center;
    line-height: 3.25rem;
}
.mobile_social_ctas a {
    font-size: var(--font-size-lg);
    text-decoration: none;
    padding: 0;
    background: var(--primary);
    color: #fff;
    border: 1px solid var(--primary);
    width: 48px;
    height: 48px;
    display: block;
    border-radius: 100%;
    text-align: center;
    line-height: 52px;
}
.social_ctas a:hover,
.social_ctas a:focus,
.social_ctas a:active {
    background:#fff;
    color:var(--primary);
    text-decoration: none;
}
.mobile_social_ctas a:hover,
.mobile_social_ctas a:focus
.mobile_social_ctas a:active {
    background:#fff;
    color:var(--primary);
    text-decoration: none;
}
.instagram.hasIcon::after,
.facebook.hasIcon::after {
    font-family: 'icons' !important;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.facebook.hasIcon::after {
    content: "\e94a";
}
.instagram.hasIcon::after {
    content: "\e949";
}

.profile {
    border: 5px solid #eee;
    padding: 2rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    margin: 1rem 0;
    background: #fff;
    color: var(--accent);
    transform: translate3d(0, 40px, 0);
    -webkit-transform: translate3d(0, 40px, 0);
    -moz-transform: translate3d(0, 40px, 0);
    -ms-transform: translate3d(0, 40px, 0);
    -o-transform: translate3d(0, 40px, 0);
    opacity: 0;
    transition: all .75s cubic-bezier(0.4, 0.0, 0.6, 1);
    -webkit-transition: all .75s cubic-bezier(0.4, 0.0, 0.6, 1);
    -moz-transition: all .75s cubic-bezier(0.4, 0.0, 0.6, 1);
    -ms-transition: all .75s cubic-bezier(0.4, 0.0, 0.6, 1);
    -o-transition: all .75s cubic-bezier(0.4, 0.0, 0.6, 1);
}
.profile.inview {
    -webkit-transform: translate3d(0,0,0);
            transform: translate3d(0,0,0);
            opacity: 1;
}
.profile_header {
    width: 100%;
}
.profile_image {
    width: 100%;
    max-width: 240px;
    margin: 0 auto;
    -webkit-transform: scale(0.1);
        -ms-transform: scale(0.1);
            transform: scale(0.1);
    opacity: 0;
    -webkit-transition: all .75s cubic-bezier(0.4, 0.0, 0.6, 1);
    -o-transition: all .75s cubic-bezier(0.4, 0.0, 0.6, 1);
    transition: all .75s cubic-bezier(0.4, 0.0, 0.6, 1);
}
.inview .profile_image {
    -webkit-transform: scale(1);
        -ms-transform: scale(1);
            transform: scale(1);
    opacity: 1;
}
.profile_image span {
    display: block;
    width: 100%;
    height: 0;
    padding-bottom: 100%;
    border-radius: 100%;
    background-position: 50% 0%;
    background-repeat: no-repeat;
    background-size: cover;
}
.profile[data-id="Aimee Vaerewyck"] .profile_image span {
    background-image: url(/img/av_profile.jpg);
}
.profile[data-id="Chris Vaerewyck"] .profile_image span {
    background-image: url(/img/cv_profile.jpg);
}
.profile[data-id="Ally Vaerewyck"] .profile_image span {
    background-image: url(/img/Ally.jpg);
}
.profile[data-id="Abby Wolf"] .profile_image span {
    background-image: url(/img/Abby.jpg);
}
.profile[data-id="Amy Deka"] .profile_image span {
    background-image: url(/img/Amy.jpg);
}

.profile_note {
    font-size: var(--font-size-sm);
}
.profile_desc p:last-child {
    margin-bottom: 0;
}
.profile_name {
    font-family: 'snellbold';
    text-transform: none;
    font-size: var(--font-size-lg);
    line-height: 1;
    color: var(--accent);  
    font-weight: 600;  
    text-align: center;
    margin: 2rem 0 0 0;
}
.profile_title {
    text-transform: uppercase;
    font-size: var(--font-size-sm);
    display: table;
    margin: 0.5rem auto;
    text-align: center;
}

.profile_note {
    font-size: var(--font-size-sm);
}
.profile_desc p:last-child {
    margin-bottom: 0;
}
.spin {
    border: 0;
    position: relative;
    height: 250px;
    width: 250px;
}

.spin::before,
.spin::after {
    -webkit-box-sizing: inherit;
            box-sizing: inherit;
    content: '';
    position: absolute;
    width: calc(100% + 18px);
    height: calc(100% + 18px);
    top: 50%;
    left: 50%;
    -webkit-transform: translate3d(-50%, -50%, 0) rotate(75deg);
            transform: translate3d(-50%, -50%, 0) rotate(75deg);
    z-index: 2;
    -webkit-transition: all .75s cubic-bezier(0.4, 0.0, 0.6, 1);
    -o-transition: all .75s cubic-bezier(0.4, 0.0, 0.6, 1);
    transition: all .75s cubic-bezier(0.4, 0.0, 0.6, 1);
}
.inview .spin:before {
    -webkit-transform: translate3d(-50%, -50%, 0) rotate(-105deg);
            transform: translate3d(-50%, -50%, 0) rotate(-105deg);
}
.spin::before {
    border-top: 10px solid #eee;
    border-right: 10px solid #eee;
    border-bottom: 10px solid var(--primary);
    border-left: 10px solid var(--primary);
}


.circle {
    border-radius: 100%;
    -webkit-box-shadow: none;
            box-shadow: none;
}

.circle::before,
.circle::after {
    border-radius: 100%;
}


.img_frame {
    position: relative;
    margin: auto;
}
.img_frame:after {
    content: '';
    position: absolute;
    top: 10px;
    left: 10px;
    height: calc(100% - 20px);
    width: calc(100% - 20px);
    border: 10px solid var(--primary);
    z-index: -1;
    display: block;
}


/* Testimonials */
#testimonials .quotes {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        margin: 0 -0.5rem;
        padding: 0;
        list-style: none;
}
#testimonials .quotes .slide {
    padding: 0.5rem;
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    min-height: 260px;
    margin: 0;
} 
.slick-slide div {
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}
.slidenav {
    position: relative;
    width: 100%;
}
.slidenav:before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 3px;
    background: #eee;
    -webkit-transform: translate(0, 50%);
        -ms-transform: translate(0, 50%);
            transform: translate(0, 50%);
}
.slidenav .slick-dots {
    position: relative;
    bottom: 0;
    text-align: left;
    margin-left: -0.25rem;
    background: #fff;
    display: inline;
    padding-right: 0.5rem;
}
.tint .slidenav .slick-dots {
    background: var(--tint);
}
.tint .slidenav:before {
    background: #dedede;
}
#info_cards .slick-dots,
#testimonials .quotes .slick-dots {
    position: relative;
    z-index: 3;
}
#info_cards .slick-dots li,
#testimonials .slick-dots li {
    margin: 0;
}
#info_cards .slick-dots li button,
#testimonials .slick-dots li button {
    position: relative;
    width: 20px;
    height: 20px;
    padding: 0;
}
#info_cards .slick-dots li button:before,
#testimonials .slick-dots li button:before {
    width: 20px;
    height: 20px;
    font-size: 12px;
    line-height: 20px;
}
#info_cards .slick-dots li.slick-active button:before,
#testimonials .slick-dots li.slick-active button:before {
    color: var(--primary);
}
#info_cards .slick-dots li,
#testimonials .quotes .slick-dots li {
    display: inline-block;
    position: relative;
    height: auto;
    min-height: 0;
    width: auto;
    padding: 0;
}

#testimonials .quote_card {
    color: #fff;
    background: #595c5f;
    padding: 1em;
    border-radius: 4px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    -ms-border-radius: 4px;
    -o-border-radius: 4px;
}
#testimonials .quote_card:before,
#testimonials .quote_card:after {
    font-family: 'icons' !important;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 8rem;
    z-index: 2;
    color: #fff;
    opacity: 0.05;
}
#testimonials .quote_card:before {
    content: "\e977";
    position: absolute;
    top: -1.125rem;
    left: -1.125rem;
}
#testimonials .quote_card:after {
    content: "\e978";
    position: absolute;
    bottom: -1.125rem;
    right: -1.125rem;
}
.quote_card .quote {
    font-size: 1rem;
    line-height: 1.75rem;
    color: #fff;
    background: none;
    padding: 0;
    border-radius: 0;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    -ms-border-radius: 0;
    -o-border-radius: 0;
    margin: 0 0 1rem 0;
    font-weight: 500;
    font-style: italic;
}
.quote_card p.attribution {
    font-size: 1rem;
    font-family: 'Oswald';
    font-weight: 400;
    position: relative;
    padding-left: 1.25rem;
    display: inline-block;
    margin: 0 0 0 auto;
    line-height: 1.1rem;
}
.quote_card p.attribution:before {
    content:'';
    position: absolute;
    top: 50%;
    left: 0;
    width: 0.75rem;
    height: 1px;
    background: #fff;
}
#testimonials .slick-track {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
}
#testimonials .slick-slide {
    height: inherit !important;
    height: auto;
}


/* Tabbed Content */
#service_filter {
    width: 100%;
    padding: 1rem;
    background: var(--accent);
    margin-bottom: 2rem;
    color: #fff;
    border-radius: 4px;
}
.service_filter {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    position: relative;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}
.service_filter label {
    text-transform: uppercase;
    font-family: 'Oswald';
    font-weight: 600;
    margin: 0.5rem 1rem 0.5rem 0;
    line-height: 1;
}
.service_filter select {
    line-height: 24px;
   -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
            text-transform: uppercase;
    position: relative;
    background: #fff;
    font-size: 16px;
    font-weight: 600;
    width: 100%;
    padding: 0.5rem 2rem 0.5rem 0.5rem;
    color: var(--primary-text);
}
.selectwrap {
    position: relative;
    -webkit-box-flex: 1;
        -ms-flex: auto;
            flex: auto;
}
.selectwrap:after {
    font-family: 'icons' !important;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: "\e97a";
    position: absolute;
    top: 0;
    right: 0;
    z-index: 3;
    width: 32px;
    height: 42px;
    text-align: center;
    line-height: 42px;
    font-size: 2rem;
    color: var(--accent);
    pointer-events: none;
}
#banner #service_filter {
    border-radius: 2px;
    padding: 0.5rem;
    margin: 0;
    background: -o-linear-gradient(320deg, rgba(126, 16, 18, 1) 0%, rgba(186, 24, 27, 1) 100%);
    background: linear-gradient(130deg, rgba(126, 16, 18, 1) 0%, rgba(186, 24, 27, 1) 100%);
}
#banner .service_filter {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
}
#banner .service_filter label {
    margin: 0.25rem 1rem 0.25rem 0;
}
@media screen and (max-width: 479px){
    #banner .service_filter label {
        font-size: var(--font-size-sm);
    }
}
#banner .service_filter select {
    font-size: var(--font-size-sm);
    padding: 0.25rem 2rem 0.25rem 0.5rem;
    border-radius: 2px;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    -ms-border-radius: 2px;
    -o-border-radius: 2px;
}
#banner .selectwrap {
    min-width: 185px;
    margin: auto 0 auto auto;
}
#banner .selectwrap:after {
    height: 34px;
    line-height: 34px;
}
ul.tabs {
    margin: 0;
    padding: 0;
    list-style: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
}
.tabs li {
    -webkit-box-flex: 1;
        -ms-flex: auto;
            flex: auto;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
}
.tabs li button {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-flex: 1;
        -ms-flex: 1 1 100%;
            flex: 1 1 100%;
}
.tabs button > span[tabindex="-1"] {
    padding: 0.5rem 1rem;
    text-transform: uppercase;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-flex: 1;
        -ms-flex: 1 1 100%;
            flex: 1 1 100%;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}

button.show_rates {
    margin-top: 1rem;
}
/* ============= */
/* ============= */

.cta {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    padding: 0;
    background: rgb(126,16,18);
    background: -o-linear-gradient(320deg, rgba(126,16,18,1) 0%, rgba(186,24,27,1) 100%);
    background: linear-gradient(130deg, rgba(126,16,18,1) 0%, rgba(186,24,27,1) 100%);
    margin: 2rem auto;
    width: 100%;
    max-width: 55rem;
    position: relative;
    border-radius: 4px;
    overflow: hidden;
}
.cta:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background-image: url(../assets/img/bg.png);
    background-position: center;
    background-size: cover;
    opacity: 0.35;
    z-index: 2;
}
.cta_content {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 65%;
            flex: 0 0 65%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 2rem;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    position: relative;
    z-index: 3;
}
.cta_content h3,
.cta_content h4 {
    margin: 0;
    text-transform: uppercase;
    color: #fff;
    text-align: center;
}
.cta_content .cta_p {
    text-align: center;
    font-weight: 400;
    text-transform: uppercase;
}
.cta_content p:last-child {
    margin-bottom: 0;
}
.cta_img {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 35%;
            flex: 0 0 35%;
    position: relative;
    min-height: 260px;
    position: relative;
    z-index: 3;
}
.cta_img div {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background-image: url(../img/spa.jpg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}
.cta p.contact {
    margin: 1rem 0 0 0;
}
.cta a {
    color: #fff;
}

/* Media Queries */
@media screen and (max-width:979px){
    body, p {
        font-size: var(--font-size-base);
    }
    #masthead #site_navigation {
        display: none;
    }
    #site_navigation {
        font-size: var(--font-size-base);
    }
    #nav_toggle {
        display: inline-block;
        margin-right: 0;
        margin-left: auto;
    }
    .xl-text {
        font-size: var(--font-size-xxxl);   
    }
    #banner h1 {
        font-size: 5rem;
    }
    .sub-heading {
        font-size: 1rem;
    }
    .media_card {
        margin: 1rem 0 0 0;
    }
    .media_card.reverse {
        -ms-flex-wrap: wrap-reverse;
            flex-wrap: wrap-reverse;
    }
    .figure_media {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 100%;
                flex: 0 0 100%;
    }
    .media_card figcaption {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 100%;
                flex: 0 0 100%;
        margin: 0;
        padding: 2rem 1rem;
    }
    .social_ctas {
        display: none;
    }
}
@media screen and (max-width:767px){
    .xl-text {
        font-size: var(--font-size-xxl);   
    }
    #banner h1 {
        font-size: 4rem;
    }
    .sub-heading {
        font-size: var(--font-size-sm);
    }
    .bullet_list.isColumns[data-count="2"]{
        -webkit-column-count: 1;
           -moz-column-count: 1;
                column-count: 1;
    }
    footer .site_logo {
        margin: 0 auto;
        max-width: 240px
    }
    .copyright,
    footer .disclaimer {
        text-align: center;
    }
    .footer_contact {
        margin: 1rem auto 0 auto;
    } 
    #footer_navigation ul {
        margin: 2rem -1rem 0 -1rem;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    }
    .footer_contact a {
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
    }
}
@media screen and (max-width:639px){
    .logo_column {
        min-width: 300px;
    }
    .about_profile .figure_img,
    .about_profile figcaption {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 100%;
                flex: 0 0 100%;
    }
    .about_profile figcaption {
        padding: 2rem 0 0 0;
    }
    .about_profile .figure_img img {
        max-width: 360px;
    }

    .cta {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
            -ms-flex-direction: column-reverse;
                flex-direction: column-reverse;
    }
    .cta_content,
    .cta_img {
        -webkit-box-flex: 1;
            -ms-flex: 1 1 100%;
                flex: 1 1 100%;
    }
    .cta_img {
        width: 100%;
        height: 0;
        min-height: 0;
        padding-bottom: 46.25%;
    }
}
@media screen and (max-width:479px){
    .logo_column {
        min-width: 260px;
    }
    #masthead {
        padding:0.5rem 0;
    }
    #masthead .site_logo .logo {
        -webkit-box-flex: 1;
            -ms-flex: 1 1 25%;
                flex: 1 1 25%;
    }
    #masthead .site_logo .wordmark {
        -webkit-box-flex: 1;
            -ms-flex: 1 1 75%;
                flex: 1 1 75%;
    }
    .xl-text {
        font-size: var(--font-size-xxl);   
    }
    .sub-heading {
        letter-spacing: 0;
        font-size: 0.825rem;
    }
    #banner p {
        font-weight: 500;
    }
    #banner_bg_video {
        padding-bottom: 100%;
    }
    #banner_bg_video video {
        min-width: 175%;
    }
    #banner_bg_img {
        padding-bottom: 40%;
    }
    button > span[tabindex='-1'], .button > span[tabindex='-1'] {
        padding: 0.75rem 0.75rem;
        letter-spacing: -0.025rem;
    }
    .rate_card .time {
        font-size: var(--font-size-lg);
    }
}
@media screen and (max-width:340px){
    .logo_column {
        min-width: 240px;
    }
    .xl-text {
        font-size: var(--font-size-xxl);   
    }
}

@-webkit-keyframes flyin {
    0%   {
        opacity: 0;
        visibility: visible;
    }
    100% {
        opacity: 1;
        visibility: visible;
    }
}
@-webkit-keyframes flyin {
    0%   {
        opacity: 0;
        visibility: visible;
    }
    100% {
        opacity: 1;
        visibility: visible;
    }
}
@keyframes flyin {
    0%   {
        opacity: 0;
        visibility: visible;
    }
    100% {
        opacity: 1;
        visibility: visible;
    }
}

@-webkit-keyframes flyout {
    0%   {
        opacity: 1;
        visibility: visible;
    }
    100% {
        opacity: 0;
        visibility: hidden;
    }
}
@keyframes flyout {
    0%   {
        opacity: 1;
        visibility: visible;
    }
    100% {
        opacity: 0;
        visibility: hidden;
    }
}

@-webkit-keyframes inout {
    0%   {
        width: 0;
    }
    50% {
        width:100%;
    }
    100% {
        width:30px;
    }
}

@keyframes inout {
    0%   {
        width: 0;
    }
    50% {
        width:100%;
    }
    100% {
        width:30px;
    }
}

#featured_content_banner {
    background: -o-linear-gradient(320deg, rgba(126,16,18,1) 0%, rgba(186,24,27,1) 100%);
    background: linear-gradient(130deg, rgba(126,16,18,1) 0%, rgba(186,24,27,1) 100%);
    color: #fff;
    padding: 2rem 0;
    position: relative;
}
#featured_content_banner .container {
    position: relative;
    z-index: 3;
}
#featured_content_banner .column {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}
#featured_content_banner h2 {
    margin: 0;
    text-transform: uppercase;
    color: #fff;
    max-width: 32rem;
}
@media screen and (max-width:767px){
    #featured_content_banner .vid_limiter {
        margin-top: 2rem;
    }
}
#service_carousel {
    margin: 0 -0.5rem 1em -0.5rem;
}

#service_carousel .slick-track {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
}
#service_carousel .slick-slide {
    height: inherit !important;
    height: auto;
}
.service_card {
    padding: 0.5rem;
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    min-height: 260px;
    margin: 0;
}
.slick-prev, 
.slick-next {
    height: 2.125rem;
    width: 2.125rem;
    border-radius: 100%;
    background: var(--primary);
    color: #fff;
    -webkit-transition: all 0.25s cubic-bezier(0.455, 0.030, 0.515, 0.955);
    -o-transition: all 0.25s cubic-bezier(0.455, 0.030, 0.515, 0.955);
    transition: all 0.25s cubic-bezier(0.455, 0.030, 0.515, 0.955);
}
.slick-prev:hover, 
.slick-next:hover,
.slick-prev:focus, 
.slick-next:focus {
    background: var(--primary-text);
}
.slidenav_arrows {
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    width: 5.5rem;
}
.tint .slidenav_arrows {
    background: var(--tint);
}
.slick-prev {
    left: unset;
    right: 2.5rem;
}
.slick-next {   
    right: 0;
}
.slick-prev:before, .slick-next:before {
    font-family: 'icons' !important;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    opacity: 1;
    font-size: 2.25rem;
    line-height: 2.125rem;
    text-align: center;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
}
.slick-prev:before {
    content: "\e984";
}
.slick-next:before {
    content: "\e985";
}
@media screen and (max-width:479px){
    .info_card .info_header {
        max-height: 380px;
        -o-object-fit: cover;
           object-fit: cover;
        
    }
    .slick-slide img {
       -o-object-fit: cover;
           object-fit: cover;
        overflow: hidden;
    }
}
@media screen and (max-width:399px){
    .info_card .info_header {
        max-height: 270px;
        -o-object-fit: cover;
           object-fit: cover;
    }
    .slick-slide img {
       -o-object-fit: cover;
           object-fit: cover;
        overflow: hidden;
    }
}

#booking {
    padding: 2rem 0;
}