html {
  font-size: 16px;
  /*	overflow:hidden;*/
  height: 100%;
}
body {
  font-family: "Lato", sans-serif;
  font-weight: 100;
  font-style: italic;
  padding-top: 56px;
  height: 100%;

  /*    perspective: 1px;
    transform-style: preserve-3d;
    overflow-y: scroll;
    overflow-x: hidden;	*/
}
/*
img{
	image-rendering:-webkit-optimize-contrast;
}*/
sup {
  line-height: 0;
  vertical-align: baseline;
  top: -0.5em;
  position: relative;
}
p {
  width: 100%;
}
ol,
ul {
  margin-top: 0;
  margin-left: 0;
  margin-bottom: 20px;
  padding: 0;
  width: 100%;
  list-style: none;
}
ol {
  list-style-position: inside;
  counter-reset: ol-counter;
}
ol > li {
  counter-increment: ol-counter;
}
ol > li:before {
  content: counter(ol-counter) ".";
  margin-right: 5px;
}

ul > li {
  text-indent: -27px;
  /*	text-indent: calc(-1em - 11px);*/
  padding-left: 17px;
}
ul > li:before {
  content: "";
  width: 6px;
  height: 6px;
  vertical-align: middle;
  border-radius: 50%;
  background: #61d2b4;
  display: inline-block;
  margin: 0 10px;
}

header {
  padding: 0;
  position: fixed;
  z-index: 3;
  background: #fff;
  top: 0;
  left: 0;
  width: 100%;
  height: 56px;
}
header label[for="navtrigger"] {
  position: absolute;
  right: 20px;
  top: 20px;
  width: 20px;
  cursor: pointer;
  height: 4px;
  z-index: 2;
  background: #000;
  transition: all 0.25s ease;
  background-clip: content-box;
  padding-bottom: 1px;
  display: block;
}

header label[for="navtrigger"]:before,
header label[for="navtrigger"]:after {
  background: #000;
  position: absolute;
  content: "";
  height: 3px;
  width: 100%;
  display: block;
  top: 16px;
  left: 0;
  transition: all 0.25s ease;
}
header label[for="navtrigger"]:after {
  top: 8px;
}
header #navtrigger:checked + label[for="navtrigger"] {
  background-color: transparent;
}

header #navtrigger:checked + label[for="navtrigger"]:before,
header #navtrigger:checked + label[for="navtrigger"]:after {
  width: 23px;
  top: 7px;
}
header #navtrigger:checked + label[for="navtrigger"]:after {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  left: -2px;
}
header #navtrigger:checked + label[for="navtrigger"]:before {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  left: auto;
  right: -1px;
}

header nav {
  display: none;
  position: fixed;
  top: 56px;
  left: 0;
  height: calc(100vh - 56px);
  width: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background: #fff;
  color: #20212b;
  z-index: 1;
  font-size: 1.25rem;
  font-family: "Varela Round", sans-serif;
  font-style: normal;
}

header input:checked ~ nav {
  display: table;
}
header nav a {
  width: 100%;
  border: 0;
  box-sizing: border-box;
  border-radius: 0;
  display: table-row;
  height: auto;
  float: none;
  line-height: normal;
  text-align: center;
}

header nav a span {
  display: table-cell;
  line-height: normal;
  vertical-align: middle;
}

header nav a[href^="http"],
header > a[href^="http"] {
  padding: 0;
  height: 100%;
}
header nav a[href^="http"] img,
header > a[href^="http"] img {
  height: 80%;
  margin-top: 15%;
}

header > a[href^="http"] {
  position: absolute;
  left: 20px;
}

@media screen and (min-width: 992px) {
  header {
    display: flex;
    align-items: center;
  }
  header.sticky {
    box-shadow: 0 0 3px 3px rgba(0, 0, 0, 0.06);
  }
  header label[for="navtrigger"] {
    display: none;
  }
  header input:checked ~ nav {
    display: flex;
  }
  header nav {
    position: static;
    height: 100%;
    font-size: 1rem;
    text-transform: uppercase;
    max-width: 1200px;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 auto;
  }
  header nav a {
    margin: 0 10px;
    position: relative;
    padding: 5px 10px;
    transition: all 0.25s ease;
    display: inline;
    width: auto;
  }
  header nav a:not([href^="http"]):hover,
  header nav a:not([href^="http"]).active {
    background: #61d2b4;
    color: #fff;
    border-radius: 35px;
  }
  header nav a span {
    display: inline;
  }
}
div.banner {
  position: relative;
  height: calc(100vh - 56px);
  overflow: hidden;
}
@media screen and (min-width: 992px) {
  div.banner {
    height: calc(150vh - 56px);
  }
}
div.banner span {
  position: absolute;
  left: 50%;
  top: 57%;
  -webkit-transform: translate(-50%, -57%);
  transform: translate(-50%, -57%);
  font-size: 9vw;
  color: #fff;
  font-weight: bold;
  z-index: 1;
  text-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
}
div.banner img {
  position: absolute;
  height: 110%;
  object-fit: cover;
  /*	object-position: 60% 20%;
*/
  width: 110%;
  left: 50%;
  -webkit-transform: translateX(-50%, -5%); /* translateZ(-1px) scale(2);*/
  transform: translate(-50%, -5%); /* translateZ(-1px) scale(2);*/
  top: 0;
}

@media screen and (min-width: 640px) {
  div.banner img {
    /*	object-position: 80% 20%;*/
  }
}

section:not(.contact) {
  margin-bottom: 0;
}
section {
  padding-top: 40px;
  position: relative;
}

@media screen and (min-width: 992px) {
  div.banner span {
    font-size: 6rem;
  }
  section:not(.contact) {
    margin-bottom: 50px;
  }
  section {
    padding-top: 120px;
  }
}

section > h1 {
  text-align: center;
  font-family: "Varela Round", sans-serif;
  font-size: 2rem;
  font-style: normal;
  text-transform: uppercase;
  position: relative;
}
@media screen and (min-width: 992px) {
  section > h1 {
    font-size: 3rem;
  }
}
section > h1 hr {
  display: block;
  margin: auto;
  width: 100px;
  position: relative;
  border: 0;
  border-top: 2px solid #61d2b4;
  margin-top: 15px;
}

section :not(h1) {
  line-height: 1.4rem;
}
.person label {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

.person figure > div {
  overflow: hidden;
  border: 8px solid #eee;
  border-radius: 50%;
  position: relative;
}
.person figure > div:before {
  content: "";
  padding-top: 100%;
  height: 0;
  display: block;
}
.person figure img {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  position: absolute;
  left: 0;
  top: 0;
  /*	left:50%;
	top:50%;
	-webkit-transform:translate(-50%, -50%);
	transform:translate(-50%, -50%);*/
  object-fit: cover;
  image-rendering: -webkit-optimize-contrast;
  border-radius: 50%;
}
.person figure figcaption {
  text-align: center;
  font-weight: bold;
}
.team .desc {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition: all 0.5s ease;
}
input[id^="person"]:checked + .desc {
  max-height: 700px;
  opacity: 1;
}

@media screen and (min-width: 576px) {
  .person label {
    display: none;
  }

  .team > .row {
    overflow: hidden;
    position: relative;
  }
  .team .person {
    transition: 0.5s opacity ease;
  }

  .team > .row:hover .person {
    opacity: 0;
  }
  .team > .row .person:hover {
    opacity: 1;
  }
  .team .desc {
    opacity: 1;
    max-height: none;
    display: block;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    background: transparent;
    height: 100%;
    pointer-events: none;
    -webkit-transform: translateX(100vw);
    transform: translateX(100vw);
    transition: transform 0.5s ease, background 0.5s 0.5s ease;
  }
  .person:hover + input + .desc {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    background: rgba(255, 255, 255, 0.92);
    z-index: 1;
  }
}
#gm {
  height: 75vh;
  width: 100%;
}
#gm > div {
  width: 100%;
  height: 100%;
}
.svg-icon {
  font-family: "icomoon";
}
.contact-data {
  text-align: center;
}
.contact-data span[class^="icon"] {
  color: #61d2b4;
  display: block;
  font-size: 2rem;
  text-align: center;
}

h2 {
  font-weight: bold;
}

.diagnosis ul > li,
.when ul > li {
  margin-bottom: 5px;
}
.diagnosis label,
.when label {
  cursor: pointer;
  width: 100%;
  text-indent: -18px;
  /*	text-indent: calc(-1em - 2px);*/
  padding-left: 14px;
}
.diagnosis input + label + div,
.when input + label + div {
  overflow: hidden;
  max-height: 0;
  opacity: 0;
  transition: max-height 0.5s ease, opacity 1s ease;
  text-indent: 0;
}

.diagnosis label:before,
.when label:before {
  font-family: "icomoon";
  content: "\e906";
  font-style: normal;
  color: #61d2b4;
  font-weight: bold;
  /*display:inline-block;
	margin-left:-3px;*/
  margin-right: 3px;
}
.diagnosis input:checked + label:before,
.when input:checked + label:before {
  content: "\e904";
}
.diagnosis input:checked + label,
.diagnosis input:checked + label:before,
.when input:checked + label,
.when input:checked + label:before {
  font-weight: bold;
}
.diagnosis input:checked + label + div,
.when input:checked + label + div {
  max-height: 500px;
  opacity: 1;
}
.diagnosis input + label + div > div,
.when input + label + div > div {
  padding: 0 0 20px 16px;
}
.diagnosis input + label + div ul,
.when input + label + div ul {
  margin: 0;
}

.gallery .image {
  position: relative;
  overflow: hidden;
  -webkit-perspective: 400px;
  perspective: 400px;
}
.gallery .image:before {
  content: "";
  display: block;
  height: 0;
  padding-top: 100%;
}
.gallery .image img {
  position: absolute;
  left: 0;
  top: 0;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.gallery .image > div {
  background: #61d2b4;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 35%;
  z-index: 1;
  padding: 20px;
  color: #fff;
  font-weight: bold;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
.gallery .image > div strong {
  text-transform: uppercase;
}
.gallery .image:hover > div {
  display: flex;
}
@media screen and (min-width: 992px) {
  .gallery > div.row > div.col-lg {
    min-width: 20%;
  }
}
.gallery .image > div a,
.comments label[for="more-comments"] {
  display: table;
  margin: 0 auto;
  padding: 5px 10px;
  border-radius: 35px;
  border: 1px solid #fff;
  margin-top: 15px;
  transition: all 0.25s ease;
  cursor: pointer;
  color: #fff;
  font-weight: bold;
  text-transform: none;
}
.comments label[for="more-comments"] {
  border: 1px solid #61d2b4;
  color: #61d2b4;
}
.comments label[for="more-comments"]:hover {
  color: #fff;
  background: #61d2b4;
}
.gallery .image > div a:hover {
  background: #fff;
  color: #61d2b4;
}
@media screen and (min-width: 992px) {
  .gallery .image > div {
    height: 100%;
    top: 0;
    bottom: auto;
    display: flex;
    -webkit-transform: rotate3d(1, 0, 0, 90deg);
    transform: rotate3d(1, 0, 0, 90deg);
  }
  .gallery .image.in-top > div {
    -webkit-transform-origin: 50% 0%;
    transform-origin: 50% 0%;
    -webkit-animation: in-top 300ms ease 0ms 1 forwards;
    animation: in-top 300ms ease 0ms 1 forwards;
  }

  .gallery .image.in-right > div {
    -webkit-transform-origin: 100% 0%;
    transform-origin: 100% 0%;
    -webkit-animation: in-right 300ms ease 0ms 1 forwards;
    animation: in-right 300ms ease 0ms 1 forwards;
  }

  .gallery .image.in-bottom > div {
    -webkit-transform-origin: 50% 100%;
    transform-origin: 50% 100%;
    -webkit-animation: in-bottom 300ms ease 0ms 1 forwards;
    animation: in-bottom 300ms ease 0ms 1 forwards;
  }

  .gallery .image.in-left > div {
    -webkit-transform-origin: 0% 0%;
    transform-origin: 0% 0%;
    -webkit-animation: in-left 300ms ease 0ms 1 forwards;
    animation: in-left 300ms ease 0ms 1 forwards;
  }

  .gallery .image.out-top > div {
    -webkit-transform-origin: 50% 0%;
    transform-origin: 50% 0%;
    -webkit-animation: out-top 300ms ease 0ms 1 forwards;
    animation: out-top 300ms ease 0ms 1 forwards;
  }

  .gallery .image.out-right > div {
    -webkit-transform-origin: 100% 50%;
    transform-origin: 100% 50%;
    -webkit-animation: out-right 300ms ease 0ms 1 forwards;
    animation: out-right 300ms ease 0ms 1 forwards;
  }

  .gallery .image.out-bottom > div {
    -webkit-transform-origin: 50% 100%;
    -webkit-transform-origin: 50% 100%;
    transform-origin: 50% 100%;
    -webkit-animation: out-bottom 300ms ease 0ms 1 forwards;
    animation: out-bottom 300ms ease 0ms 1 forwards;
  }

  .gallery .image.out-left > div {
    -webkit-transform-origin: 0% 0%;
    transform-origin: 0% 0%;
    -webkit-animation: out-left 300ms ease 0ms 1 forwards;
    animation: out-left 300ms ease 0ms 1 forwards;
  }

  @-webkit-keyframes in-top {
    from {
      -webkit-transform: rotate3d(-1, 0, 0, 90deg);
      transform: rotate3d(-1, 0, 0, 90deg);
    }
    to {
      -webkit-transform: rotate3d(0, 0, 0, 0deg);
      transform: rotate3d(0, 0, 0, 0deg);
    }
  }

  @keyframes in-top {
    from {
      -webkit-transform: rotate3d(-1, 0, 0, 90deg);
      transform: rotate3d(-1, 0, 0, 90deg);
    }
    to {
      -webkit-transform: rotate3d(0, 0, 0, 0deg);
      transform: rotate3d(0, 0, 0, 0deg);
    }
  }
  @-webkit-keyframes in-right {
    from {
      -webkit-transform: rotate3d(0, -1, 0, 90deg);
      transform: rotate3d(0, -1, 0, 90deg);
    }
    to {
      -webkit-transform: rotate3d(0, 0, 0, 0deg);
      transform: rotate3d(0, 0, 0, 0deg);
    }
  }
  @keyframes in-right {
    from {
      -webkit-transform: rotate3d(0, -1, 0, 90deg);
      transform: rotate3d(0, -1, 0, 90deg);
    }
    to {
      -webkit-transform: rotate3d(0, 0, 0, 0deg);
      transform: rotate3d(0, 0, 0, 0deg);
    }
  }
  @-webkit-keyframes in-bottom {
    from {
      -webkit-transform: rotate3d(1, 0, 0, 90deg);
      transform: rotate3d(1, 0, 0, 90deg);
    }
    to {
      -webkit-transform: rotate3d(0, 0, 0, 0deg);
      transform: rotate3d(0, 0, 0, 0deg);
    }
  }
  @keyframes in-bottom {
    from {
      -webkit-transform: rotate3d(1, 0, 0, 90deg);
      transform: rotate3d(1, 0, 0, 90deg);
    }
    to {
      -webkit-transform: rotate3d(0, 0, 0, 0deg);
      transform: rotate3d(0, 0, 0, 0deg);
    }
  }
  @-webkit-keyframes in-left {
    from {
      -webkit-transform: rotate3d(0, 1, 0, 90deg);
      transform: rotate3d(0, 1, 0, 90deg);
    }
    to {
      -webkit-transform: rotate3d(0, 0, 0, 0deg);
      transform: rotate3d(0, 0, 0, 0deg);
    }
  }
  @keyframes in-left {
    from {
      -webkit-transform: rotate3d(0, 1, 0, 90deg);
      transform: rotate3d(0, 1, 0, 90deg);
    }
    to {
      -webkit-transform: rotate3d(0, 0, 0, 0deg);
      transform: rotate3d(0, 0, 0, 0deg);
    }
  }
  @-webkit-keyframes out-top {
    from {
      -webkit-transform: rotate3d(0, 0, 0, 0deg);
      transform: rotate3d(0, 0, 0, 0deg);
    }
    to {
      -webkit-transform: rotate3d(-1, 0, 0, 180deg);
      transform: rotate3d(-1, 0, 0, 180deg);
    }
  }
  @keyframes out-top {
    from {
      -webkit-transform: rotate3d(0, 0, 0, 0deg);
      transform: rotate3d(0, 0, 0, 0deg);
    }
    to {
      -webkit-transform: rotate3d(-1, 0, 0, 180deg);
      transform: rotate3d(-1, 0, 0, 180deg);
    }
  }
  @-webkit-keyframes out-right {
    from {
      -webkit-transform: rotate3d(0, 0, 0, 0deg);
      transform: rotate3d(0, 0, 0, 0deg);
    }
    to {
      -webkit-transform: rotate3d(0, -1, 0, 180deg);
      transform: rotate3d(0, -1, 0, 180deg);
    }
  }
  @keyframes out-right {
    from {
      -webkit-transform: rotate3d(0, 0, 0, 0deg);
      transform: rotate3d(0, 0, 0, 0deg);
    }
    to {
      -webkit-transform: rotate3d(0, -1, 0, 180deg);
      transform: rotate3d(0, -1, 0, 180deg);
    }
  }
  @-webkit-keyframes out-bottom {
    from {
      -webkit-transform: rotate3d(0, 0, 0, 0deg);
      transform: rotate3d(0, 0, 0, 0deg);
    }
    to {
      -webkit-transform: rotate3d(1, 0, 0, 180deg);
      transform: rotate3d(1, 0, 0, 180deg);
    }
  }
  @keyframes out-bottom {
    from {
      -webkit-transform: rotate3d(0, 0, 0, 0deg);
      transform: rotate3d(0, 0, 0, 0deg);
    }
    to {
      -webkit-transform: rotate3d(1, 0, 0, 180deg);
      transform: rotate3d(1, 0, 0, 180deg);
    }
  }
  @-webkit-keyframes out-left {
    from {
      -webkit-transform: rotate3d(0, 0, 0, 0deg);
      transform: rotate3d(0, 0, 0, 0deg);
    }
    to {
      -webkit-transform: rotate3d(0, 1, 0, 180deg);
      transform: rotate3d(0, 1, 0, 180deg);
    }
  }
  @keyframes out-left {
    from {
      -webkit-transform: rotate3d(0, 0, 0, 0deg);
      transform: rotate3d(0, 0, 0, 0deg);
    }
    to {
      -webkit-transform: rotate3d(0, 1, 0, 180deg);
      transform: rotate3d(0, 1, 0, 180deg);
    }
  }
}
.comment:before {
  content: attr(data-author);
  display: block;
  height: 90px;
  background: #61d2b4;
  width: 90px;
  padding: 10px;
  color: #fff;
  font-weight: bold;
  display: flex;
  text-align: center;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  margin-right: 20px;
  float: left;
  font-size: 0.75rem;
  shape-outside: circle(47%);
}
.comment.right:before {
  float: right;
  margin-left: 20px;
  margin-right: 0;
}
@media screen and (min-width: 992px) {
  .comment {
    padding-right: 100px !important;
  }
  .comment.right {
    padding-left: 100px !important;
    padding-right: 0 !important;
  }
  .comment:after {
    content: "";
    position: absolute;
    height: 100%;
    width: 2px;
    background: #61d2b4;
    top: 0;
    right: -1px;
  }
  .comment.right:after {
    left: -1px;
  }

  .comment:before,
  .comment.right:before {
    margin: 0;
    float: none;
    position: absolute;
    width: 120px;
    height: 120px;
    padding: 20px;
    font-size: 1rem;
    top: 50%;
    right: -60px;
    margin-top: -60px;
    z-index: 1;
  }
  .comment.right:before {
    left: -60px;
  }
}
.comments > .row > .col-12 {
  height: 600px;
  overflow: hidden;
}
.comments > .row > .col-12:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 50%;
  z-index: 2;
  background: -moz-linear-gradient(
    top,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 1) 100%
  );
  background: -webkit-linear-gradient(
    top,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 1) 100%
  );
  background: linear-gradient(
    to bottom,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 1) 100%
  );
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#ffffff',GradientType=0 );
}
.comments input:checked + .col-12 {
  height: auto;
}
.comments input:checked + .col-12:after,
.comments input:checked ~ label[for="more-comments"] {
  display: none;
}
.comments label[for="more-comments"] {
  position: absolute;
  bottom: -50px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px;
  height: 20px;
  color: #fff;
  background: #1a1a1a;
  font-size: 0.75rem;
}
footer button {
  display: none;
}
@media screen and (min-width: 992px) {
  footer button {
    cursor: pointer;
    border: 0;
    width: 50px;
    height: 50px;
    background: #61d2b4;
    color: #fff;
    position: fixed;
    bottom: 15px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    display: block;
    border-radius: 50%;
    font-size: 2rem;
    opacity: 0;
    visibility: hidden;
    transition: all 1s 3s ease;
    z-index: 1000;
  }
  footer button.hidenow {
    transition: none;
  }
  footer button.visible {
    opacity: 1;
    visibility: visible;
    transition: all 1s ease;
  }
}

#preloader {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 10000;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}
#preloader #smile {
  stroke-dasharray: 100px;
  stroke-dashoffset: 100px;
  transition: stroke-dashoffset 3s linear;
}
