/* Eric Meyer's Reset CSS v2.0 - http://cssreset.com */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after, q:before, q:after {
  content: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  outline: 0;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

html, body {
  height: auto;
  min-height: 100%;
  background-color: white;
  position: relative; }

body {
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch; }

header, footer, section, main {
  max-width: 2500px;
  margin: auto;
  z-index: 9;
  position: relative;
  margin: auto;
  width: 100%;
  display: block;
  max-width: 1188px;
  margin: auto;
  background-color: #ffffff; }

.wrap {
  padding: 30px;
  max-width: 924px;
  margin: auto;
  position: relative;
  height: 100%; }
  @media only screen and (min-width: 768px) {
    .wrap {
      padding: 0px 30px 80px 30px; }
      .wrap.padded {
        padding: 100px 40px; }
      .wrap.npb {
        padding-bottom: 0px; }
      .wrap.npt {
        padding-top: 0px; } }
  @media only screen and (min-width: 1100px) {
    .wrap {
      padding: 0px 30px 90px 30px; } }

#page {
  margin: auto;
  z-index: 11;
  position: relative;
  margin: auto;
  width: 100%;
  max-width: 2500px;
  min-height: 100%;
  padding: 100vh 0px 0px;
  overflow: hidden; }
  @media only screen and (min-width: 768px) {
    #page {
      padding-top: 96px; } }

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom; }
  img.fw {
    width: 100%; }

/* =================================================================================================
Typography 
================================================================================================= */
@font-face {
  font-family: 'CalibreWeb-Regular';
  src: url("webfonts/CalibreWeb-Regular.eot");
  src: url("webfonts/CalibreWeb-Regular.eot?#iefix") format("embedded-opentype"), url("webfonts/CalibreWeb-Regular.woff2") format("woff2"), url("webfonts/CalibreWeb-Regular.woff") format("woff"); }

@font-face {
  font-family: 'CalibreWeb-Semibold';
  src: url("webfonts/CalibreWeb-Semibold.eot");
  src: url("webfonts/CalibreWeb-Semibold.eot?#iefix") format("embedded-opentype"), url("webfonts/CalibreWeb-Semibold.woff2") format("woff2"), url("webfonts/CalibreWeb-Semibold.woff") format("woff"); }

body, html {
  font-family: "CalibreWeb-Regular", sans-serif;
  line-height: 1.45em;
  font-size: 24px;
  color: #333333;
  width: 100%;
  height: 100%;
  text-rendering: optimizelegibility;
  padding: 0px;
  margin: 0px;
  font-style: normal;
  font-weight: 400;
  zoom: 1;
  visibility: visible;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  outline: 0;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

* {
  font-family: "CalibreWeb-Regular", sans-serif; }

h1, h2, h3, h4, h5 {
  margin: 0;
  font-family: "CalibreWeb-Regular", sans-serif;
  display: block;
  line-height: 1.15;
  position: relative;
  color: #505050; }

h1 {
  font-family: "CalibreWeb-Regular", sans-serif;
  color: #333333;
  font-size: 28px; }

h2 {
  font-size: 26px; }

strong, b {
  font-family: "CalibreWeb-Semibold", sans-serif; }

p {
  line-height: 1.2;
  margin-bottom: 1.2em; }
  p:last-child {
    margin-bottom: 0; }

a {
  color: #09bdb1; }
  a:hover {
    color: #078b82;
    text-decoration: underline; }

article {
  line-height: 1.33;
  text-align: left;
  clear: both;
  padding-top: 20px; }
  @media only screen and (min-width: 768px) {
    article {
      padding-top: 20px; } }

@media only screen and (min-width: 768px) {
  h2 {
    font-size: 44px; } }

/* =================================================================================================
Helpers 
================================================================================================= */
.clearfix:before, header:before, footer:before, section:before, main:before, .wrap:before, article:before, #mobile-menu .main-nav:before, #mobile-menu .main-nav > ul:before, #mobile-menu .main-nav > ul > li:before, .clearfix:after, header:after, footer:after, section:after, main:after, .wrap:after, article:after, #mobile-menu .main-nav:after, #mobile-menu .main-nav > ul:after, #mobile-menu .main-nav > ul > li:after, .cf:before, .cf:after {
  content: "";
  display: table;
  clear: both; }

.fl {
  float: left !important; }

.fr {
  float: right !important; }

.nod {
  display: none; }

.hidden {
  display: none; }

.bgi {
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  overflow: hidden;
  opacity: 0;
  -webkit-transition: opacity 0.3s ease;
  -o-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease; }
  .bgi img {
    opacity: 0;
    display: none; }
  .bgi.a {
    opacity: 1; }

.fadein {
  opacity: 0;
  -webkit-transition: opacity 0.3s ease;
  -o-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease; }
  .fadein.visible {
    opacity: 1; }

header {
  text-align: center;
  background: #ffffff;
  -webkit-transition: opacity 0.2s ease,  border 0.4s ease, background-color 0.4s ease;
  -o-transition: opacity 0.2s ease,  border 0.4s ease, background-color 0.4s ease;
  transition: opacity 0.2s ease,  border 0.4s ease, background-color 0.4s ease;
  height: 96px;
  z-index: 99;
  position: absolute;
  top: calc(100vh - 96px);
  left: 0;
  right: 0;
  width: 100%;
  padding: 0;
  max-width: 100%; }
  header .wrap {
    padding-top: 30px;
    padding-bottom: 30px;
    max-width: 100%; }
  header h1 {
    display: block;
    width: 60%;
    white-space: nowrap;
    margin: auto;
    line-height: 36px;
    text-align: center; }
  header .mt {
    position: relative;
    width: 28px;
    height: 28px;
    padding: 5px;
    float: left;
    top: 7px;
    left: -5px;
    cursor: pointer; }
    header .mt span {
      position: absolute;
      top: 5px;
      left: 5px;
      display: block;
      height: 2px;
      width: 18px;
      color: #333333;
      background-color: #333333; }
    header .mt span + span {
      top: 11px; }
    header .mt span + span + span {
      top: 17px; }
  @media only screen and (min-width: 768px) {
    header {
      top: 0;
      position: fixed; } }

#welcome {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: calc(100vh - 96px);
  background: url("../img/mobile.jpg?v=1.1") no-repeat left top transparent;
  background-size: cover; }
  #welcome strong {
    display: block;
    font-family: Georgia, Times, "Times New Roman", serif;
    font-size: 96px;
    line-height: 96px;
    font-style: italic;
    text-align: center;
    color: #ffffff;
    font-weight: normal;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%); }
  @media only screen and (min-width: 768px) {
    #welcome {
      display: none; } }

.vid {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 0;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  overflow: hidden; 
  }
  .vid video {
    min-width: 100%;
    min-height: 100%;
    z-index: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%); }
  .vid:after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.1); }
  @media only screen and (min-width: 768px) {
    .vid {
      background-size: cover !important; }
      .vid video {
        display: block;top:60%; } }
	@media only screen and (max-width: 540px) {
  		.vid video {
  			left: 120%;
  		}
  	}
#mobile-menu {
  z-index: 999;
  width: 90vw;
  left: -100vw;
  overflow: auto;
  position: fixed;
  top: 0px;
  height: 100vh;
  overflow: auto;
  background: #09bdb1;
  color: white;
  padding: 20px 30px;
  -webkit-transition: left 0.4s ease-in;
  -o-transition: left 0.4s ease-in;
  transition: left 0.4s ease-in; }
  #mobile-menu .wrap {
    padding: 0; }
  #mobile-menu .mt {
    display: block;
    width: 38px;
    height: 38px;
    position: relative;
    left: -10px;
    cursor: pointer; }
    #mobile-menu .mt:before, #mobile-menu .mt:after {
      position: absolute;
      left: 18px;
      top: 9px;
      content: ' ';
      height: 24px;
      width: 3px;
      background-color: #ffffff;
      opacity: 0.9;
      -webkit-transition: opacity 0.2s ease;
      -o-transition: opacity 0.2s ease;
      transition: opacity 0.2s ease; }
    #mobile-menu .mt:before {
      -webkit-transform: rotate(45deg);
          -ms-transform: rotate(45deg);
              transform: rotate(45deg); }
    #mobile-menu .mt:after {
      -webkit-transform: rotate(-45deg);
          -ms-transform: rotate(-45deg);
              transform: rotate(-45deg); }
    #mobile-menu .mt:hover:before, #mobile-menu .mt:hover:after {
      opacity: 1; }
  #mobile-menu .main-nav {
    display: block;
    text-align: left;
    clear: both;
    padding: 0px; }
    #mobile-menu .main-nav > ul {
      padding: 60px 0px 0px 0px; }
      #mobile-menu .main-nav > ul > li {
        display: block;
        clear: both; }
        #mobile-menu .main-nav > ul > li a {
          color: #ffffff;
          white-space: nowrap;
          font-size: 26px;
          line-height: 2.15;
          display: block;
          padding: 0px;
          text-decoration: none; }
          #mobile-menu .main-nav > ul > li a:hover {
            color: white; }
        #mobile-menu .main-nav > ul > li.active > a {
          text-decoration: none;
          color: white; }
  @media only screen and (min-width: 768px) {
    #mobile-menu {
      width: 400px;
      left: -410px; } }

.open #mobile-menu {
  left: 0vw;
  opacity: 1; }

.down header, .sticky.down header {
  top: -105px;
  opacity: 0; }

@media only screen and (min-width: 768px) {
  .down header, .sticky.down header {
    top: -160px; } }

.sticky header {
  position: fixed;
  top: 0; }

#about-us {
  padding-top: 10px; }
  #about-us .bgi {
    width: 100%;
    height: 370px;
    display: none;
    position: relative; }
  #about-us h2 {
    padding-bottom: 20px; }
  #about-us .bgi {
    margin: 10px 0px 50px 0px; }
  @media only screen and (min-width: 768px) {
    #about-us {
      padding-top: 80px; }
      #about-us .bgi {
        display: block; }
      #about-us p {
        font-size: 30px;
        max-width: 80%; }
      #about-us h2 {
        padding-bottom: 0; } }

#approach {
  padding-top: 40px; }
  #approach h2:before {
    content: '';
    display: block;
    width: 67px;
    height: 67px;
    border-radius: 50% 50%;
    background-color: #bcedea;
    position: absolute;
    top: -10px;
    left: -5px;
    z-index: -1; }
  @media only screen and (min-width: 768px) {
    #approach {
      padding-top: 80px; }
      #approach h2 {
        width: 230px;
        float: left; }
      #approach article {
        float: right;
        width: calc(100% - 230px);
        padding-left: 60px; } }

#our-therapies {
  padding-top: 40px; }
  #our-therapies h2 {
    float: left; }
    #our-therapies h2:before {
      content: '';
      display: block;
      width: 84px;
      height: 84px;
      border-radius: 50% 50%;
      background-color: #ffe893;
      position: absolute;
      right: 0px;
      top: -11px;
      z-index: -1; }
  #our-therapies ul {
    display: block;
    margin: 0px auto;
    max-width: 615px; }
    #our-therapies ul h3 {
      font-size: 20px;
      margin-bottom: 20px;
      line-height: 47px;
      display: block;
      height: 50px;
      cursor: pointer; }
    #our-therapies ul li {
      max-height: 50px;
      overflow: hidden;
      position: relative;
      border-bottom: 1px solid #d6d6d6;
      cursor: pointer;
      -webkit-transition: max-height 0.2s ease;
      -o-transition: max-height 0.2s ease;
      transition: max-height 0.2s ease; }
      #our-therapies ul li.open {
        max-height: 400px; }
        #our-therapies ul li.open .arrow {
          -webkit-transform: rotate(180deg);
              -ms-transform: rotate(180deg);
                  transform: rotate(180deg);
          background-color: rgba(216, 216, 216, 0.3); }
  #our-therapies .arrow {
    position: absolute;
    top: 0;
    right: 0;
    width: 50px;
    height: 50px;
    display: block;
    background: url("../svg/arrow.svg") no-repeat center center transparent;
    background-size: 48px 48px;
    opacity: 0.9;
    -webkit-transition: opacity 0.3s ease;
    -o-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease; }
    #our-therapies .arrow:hover {
      opacity: 1; }
  @media only screen and (min-width: 768px) {
    #our-therapies {
      padding-top: 80px; }
      #our-therapies h2 {
        font-size: 68px; } }

#children {
  background: url("../img/IllustrationNew.png") no-repeat center 0px #ffffff; }
  #children h2 {
    text-transform: uppercase;
    font-size: 24px;
    margin-bottom: 20px; }
  #children p {
    font-size: 30px;
    line-height: 36px; }
  #children a {
    color: #333333;
    text-decoration: underline; }
  @media only screen and (min-width: 768px) {
    #children {
      padding-top: 115px;
      min-height: 580px; }
      #children article {
        float: right;
        width: 313px; } }

@media (-webkit-min-device-pixel-ratio: 2), (-o-min-device-pixel-ratio: 2/1), (min-resolution: 192dpi) {
  #children {
    background: url("../img/IllustrationNew2x.png") no-repeat center 0px #ffffff;
    background-size: contain; } }

#appointment {
  padding-top: 40px; }
  #appointment article {
    float: right;
    max-width: 720px; }
  #appointment .c1, #appointment .c2 {
    position: relative; }
  #appointment .c1 {
    padding-bottom: 30px; }
  @media only screen and (min-width: 768px) {
    #appointment .c1, #appointment .c2 {
      width: 50%;
      float: left;
      padding-bottom: 0; }
    #appointment .c1 {
      padding-right: 20px; }
    #appointment .c2 {
      padding-left: 20px; } }
  @media only screen and (min-width: 1100px) {
    #appointment {
      padding-top: 0; }
      #appointment h2 {
        left: -80px; }
      #appointment .c2:after {
        content: '';
        display: block;
        width: 67px;
        height: 67px;
        border-radius: 50% 50%;
        background-color: #ffe893;
        position: absolute;
        left: -80px;
        bottom: 0px;
        z-index: -1; } }

#book {
  padding-top: 80px; }
  #book h2 {
    font-size: 68px;
    float: left; }
    #book h2 span, #book h2:after, #book h2:before {
      display: block;
      width: 50px;
      height: 50px;
      border-radius: 50% 50%;
      z-index: -1;
      position: absolute; }
    #book h2:after {
      content: '';
      background-color: rgba(9, 189, 177, 0.8);
      right: -67px;
      bottom: 8px; }
    #book h2:before {
      content: '';
      background-color: rgba(9, 189, 177, 0.8);
      right: -47px;
      bottom: 115px; }
    #book h2 span {
      width: 67px;
      height: 67px;
      right: -53px;
      bottom: 29px;
      background-color: #ffe893; }
  @media only screen and (min-width: 768px) {
    #book {
      padding-top: 115px; }
      #book article {
        padding-left: 80px;
        max-width: 830px;
        float: left; } }

#contacts {
  height: 100vh; }
  #contacts .wrap {
    padding-top: 0;
    padding-bottom: 0;
    height: 100vh; }
  #contacts .btt {
    width: 100px;
    height: 100px;
    position: relative;
    display: inline-block;
    margin-top: 30px; }
    #contacts .btt:before, #contacts .btt:after {
      display: block;
      position: absolute;
      content: '';
      -webkit-transition: color 0.2s ease, background-color 0.2s ease;
      -o-transition: color 0.2s ease, background-color 0.2s ease;
      transition: color 0.2s ease, background-color 0.2s ease; }
    #contacts .btt:before {
      width: 2px;
      height: 100px;
      background-color: #09bdb1;
      bottom: 0;
      left: 50px; }
    #contacts .btt:after {
      width: 10px;
      height: 10px;
      border-top: 2px solid #09bdb1;
      border-right: 2px solid #09bdb1;
      -webkit-transform: rotate(-45deg);
          -ms-transform: rotate(-45deg);
              transform: rotate(-45deg);
      left: 45px;
      top: 0; }
    #contacts .btt:hover:before {
      background-color: #078b82; }
    #contacts .btt:hover:after {
      border-top: 2px solid #078b82;
      border-right: 2px solid #078b82; }
  #contacts article {
    padding: 0;
    margin: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    text-align: center;
    font-size: 24px; }
    #contacts article a {
      color: #333333;
      text-decoration: none; }
      #contacts article a:hover {
        text-decoration: underline; }

/**************************************************************/
/**********************    ANIMATIONS   ***********************/
/**************************************************************/
.fancy {
  opacity: 0; }
  .fancy.animate {
    -webkit-transition: opacity 1s ease-in;
    -o-transition: opacity 1s ease-in;
    transition: opacity 1s ease-in; }
    .fancy.animate.a1, .fancy.animate.a2, .fancy.animate.a3, .fancy.animate.a5, .fancy.animate.a6, .fancy.animate.a7 {
      -webkit-transform: translateY(80px);
          -ms-transform: translateY(80px);
              transform: translateY(80px);
      -webkit-transition: opacity 1s ease-in;
      -o-transition: opacity 1s ease-in;
      transition: opacity 1s ease-in;
      -webkit-animation: come-in 0.5s ease-out forwards;
              animation: come-in 0.5s ease-out forwards;
      -webkit-animation-delay: 0.2s;
              animation-delay: 0.2s; }
    .fancy.animate.a2 {
      -webkit-animation-delay: 0.5s;
              animation-delay: 0.5s; }
    .fancy.animate.a3 {
      -webkit-animation-delay: 1s;
              animation-delay: 1s; }
    .fancy.animate.a5 {
      -webkit-animation-delay: 1.5s;
              animation-delay: 1.5s; }
    .fancy.animate.a6 {
      -webkit-animation-delay: 2s;
              animation-delay: 2s; }
    .fancy.animate.a7 {
      -webkit-animation-delay: 2.5s;
              animation-delay: 2.5s; }
    .fancy.animate.a8 {
      -webkit-animation-delay: 3s;
              animation-delay: 3s; }
    .fancy.animate.a9 {
      -webkit-animation-delay: 3.5s;
              animation-delay: 3.5s; }
    .fancy.animate.ab {
      opacity: 0;
      -webkit-transform: translateY(280px);
          -ms-transform: translateY(280px);
              transform: translateY(280px);
      -webkit-transition: opacity 0.4s ease-in;
      -o-transition: opacity 0.4s ease-in;
      transition: opacity 0.4s ease-in;
      -webkit-animation: come-in 0.6s ease-out forwards;
              animation: come-in 0.6s ease-out forwards;
      -webkit-animation-delay: 0.3s;
              animation-delay: 0.3s; }
    .fancy.animate.text-fade {
      -webkit-transition: opacity 1s ease-in;
      -o-transition: opacity 1s ease-in;
      transition: opacity 1s ease-in;
      -webkit-animation: fade-in 1s ease-out forwards;
              animation: fade-in 1s ease-out forwards;
      -webkit-animation-delay: 0.1s;
              animation-delay: 0.1s; }

.shown {
  -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
          transform: translateX(0);
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0);
  -webkit-animation: none;
          animation: none; }

@-webkit-keyframes come-in {
  to {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1; } }

@keyframes come-in {
  to {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1; } }

@-webkit-keyframes fade-in {
  to {
    opacity: 1; } }

@keyframes fade-in {
  to {
    opacity: 1; } }

@-webkit-keyframes come-down {
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

@keyframes come-down {
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0); } }
