.dentists .carousel-item {
  position: relative;
  display: none;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  transition: -webkit-transform .6s ease;
  transition: transform .6s ease;
  transition: transform .6s ease,-webkit-transform .6s ease;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-perspective: 1000px;
  perspective: 1000px; }

.dentist-control .carousel-control-next, .dentist-control .carousel-control-prev {
  position: absolute;
  bottom: -54px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 50%;
  height: 54px;
  text-align: center;
  color: #fff;
  text-align: center;
  background: #ccc;
  top: auto;
  opacity: 1; }
  .dentist-control .carousel-control-next:hover, .dentist-control .carousel-control-prev:hover {
    opacity: .8;
    transition: opacity .5s ease-out; }
.dentist-control .carousel-control-next {
  background: #6DC8C3; }
.dentist-control .carousel-control-prev {
  background: #7CD2CD; }

.dentist-intro {
  text-align: left;
  color: #3C8779;
  max-width: 50%;
  position: absolute;
  left: 0px;
  z-index: 10;
  top: 4px;
  max-width: 325px;
  padding-left: 30px; }
  .dentist-intro h3 {
    text-transform: uppercase;
    background: #3C8779;
    color: white;
    padding: 4px 10px;
    font-size: 23px;
    text-shadow: 10px 0px 0px #3C8779, -10px 0px 0px #3C8779;
    display: inline-block;
    margin-bottom: 0px;
    font-weight: 600; }
  .dentist-intro em {
    padding-left: 3px;
    font-style: normal;
    font-weight: 600; }
  .dentist-intro p {
    font-size: 15px;
    padding-left: 3px;
    max-width: 223px;
    margin-bottom: 10px; }
  .dentist-intro button {
    text-transform: uppercase;
    text-decoration: none;
    border: 2px solid #3C8779;
    font-size: 20px;
    color: #3c8679;
    font-weight: 700;
    padding: 0px 13px;
    background: none; }
    .dentist-intro button:hover {
      opacity: 0.8;
      transition: opacity .5s ease-out; }

*:focus {
  outline: none; }

#login-box {
  position: relative;
  margin: 5% auto;
  width: 100%;
  background: #FFF;
  border-radius: 2px; }

.left {
  box-sizing: border-box;
  padding: 10px 40px 20px 40px;
  width: 100%;
  min-height: 500px; }
  @media (max-width: 991px) {
    .left {
      padding-bottom: 30px; } }

.success {
  border: 1px solid #e4e4e4;
  background: #efefef;
  margin-bottom: 5px;
  padding: 0px 10px;
  color: #0d7d4f;
  font-weight: 700;
  font-size: 17px;
  padding-bottom: 3px;
  border-bottom: 1px solid #c7c7c7; }

.error {
  color: #c51d1d;
  border-left: 3px solid #c51e1e;
  padding-left: 7px;
  margin-bottom: 6px;
  font-size: 18px; }

h1 {
  margin: 0 0 20px 0;
  font-weight: 300;
  font-size: 28px; }

textarea {
  display: block;
  box-sizing: border-box;
  margin-bottom: 20px;
  padding: 4px;
  width: 100%;
  min-height: 196px;
  border: 1px solid #dcdada;
  border-bottom: 1px solid #AAA;
  font-weight: 400;
  font-size: 15px;
  transition: 0.2s ease;
  background: #f3f3f3; }

input[type="text"], input[type="password"], input textarea {
  display: block;
  box-sizing: border-box;
  margin-bottom: 20px;
  padding: 4px;
  width: 100%;
  height: 32px;
  border: none;
  border-bottom: 1px solid #AAA;
  font-weight: 400;
  font-size: 15px;
  transition: 0.2s ease; }
input[type="text"]:focus, input[type="password"]:focus {
  border-bottom: 2px solid #16a085;
  color: #16a085;
  transition: 0.2s ease; }

button {
  margin-top: 5px;
  background: #16a085;
  border: none;
  border-radius: 2px;
  color: #FFF;
  font-weight: 500;
  text-transform: uppercase;
  transition: 0.1s ease;
  cursor: pointer;
  padding: 2px 30px;
  border-bottom: 3px solid #007b68; }
  button:hover, button:focus {
    opacity: 0.8;
    transition: 0.1s ease; }
  button:active {
    opacity: 1;
    transition: 0.1s ease; }

.or {
  position: absolute;
  top: 46%;
  left: -17px;
  width: 40px;
  height: 40px;
  background: #00a087;
  color: white;
  font-weight: 700;
  line-height: 40px;
  text-align: center; }
  @media (max-width: 991px) {
    .or {
      top: -15px;
      left: 48%; } }

.right {
  box-sizing: border-box;
  padding: 40px;
  background: url("https://kauppakamari.fi/wp-content/uploads/2015/10/chain-bridge-1113261280.jpg");
  /*  background: #40bdab; */
  background-size: cover;
  background-position: center;
  border-radius: 0 2px 2px 0;
  text-align: center; }
  .right .loginwith {
    display: block;
    margin-bottom: 40px;
    font-size: 28px;
    color: #FFF;
    font-weight: 400;
    text-shadow: 1px 1px 1px #000;
    text-align: center; }

button.social-signin {
  margin-bottom: 20px;
  width: 220px;
  height: 36px;
  border: none;
  border-radius: 2px;
  color: #FFF;
  font-family: 'Roboto', sans-serif;
  font-weight: 500;
  transition: 0.2s ease;
  cursor: pointer; }
  button.social-signin:hover, button.social-signin:focus {
    transition: 0.2s ease; }
  button.social-signin:active {
    transition: 0.2s ease; }
  button.social-signin.facebook {
    background: #32508E; }
  button.social-signin.twitter {
    background: #55ACEE; }
  button.social-signin.google {
    background: #DD4B39; }

.before-after-gallery {
  margin-bottom: 45px; }

.before-after {
  color: white;
  padding: 40px 10px;
  background: #55BCA9 url(../abstract-bckgrnd.png) no-repeat;
  background-position: top !important;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  background-size: cover;
  -o-background-size: cover; }

.before-after h2 {
  font-size: 33px;
  border-bottom: 2px solid white;
  max-width: 482px;
  padding: 15px 10px 8px 2px;
  font-weight: 600;
  line-height: 38px;
  margin-bottom: 20px; }

.cd-image-container {
  position: relative;
  width: 90%;
  max-width: 768px;
  margin: 0em auto;
  border: 9px solid #5cc7b4; }
  .cd-image-container img {
    display: block; }

.cd-image-label {
  position: absolute;
  bottom: 0;
  right: 0;
  color: #ffffff;
  padding: 1em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  opacity: 0;
  -webkit-transform: translateY(20px);
  -moz-transform: translateY(20px);
  -ms-transform: translateY(20px);
  -o-transform: translateY(20px);
  transform: translateY(20px);
  -webkit-transition: -webkit-transform 0.3s 0.7s, opacity 0.3s 0.7s;
  -moz-transition: -moz-transform 0.3s 0.7s, opacity 0.3s 0.7s;
  transition: transform 0.3s 0.7s, opacity 0.3s 0.7s; }
  .cd-image-label.is-hidden {
    visibility: hidden; }

.is-visible .cd-image-label {
  opacity: 1;
  -webkit-transform: translateY(0);
  -moz-transform: translateY(0);
  -ms-transform: translateY(0);
  -o-transform: translateY(0);
  transform: translateY(0); }

.cd-resize-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  overflow: hidden;
  /* Force Hardware Acceleration in WebKit */
  -webkit-transform: translateZ(0);
  -moz-transform: translateZ(0);
  -ms-transform: translateZ(0);
  -o-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }
  .cd-resize-img img {
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    height: 100%;
    width: auto;
    max-width: none; }
  .cd-resize-img .cd-image-label {
    right: auto;
    left: 0; }

.is-visible .cd-resize-img {
  width: 50%;
  /* bounce in animation of the modified image */
  -webkit-animation: cd-bounce-in 0.7s;
  -moz-animation: cd-bounce-in 0.7s;
  animation: cd-bounce-in 0.7s; }

@-webkit-keyframes cd-bounce-in {
  0% {
    width: 0; }
  60% {
    width: 55%; }
  100% {
    width: 50%; } }
@-moz-keyframes cd-bounce-in {
  0% {
    width: 0; }
  60% {
    width: 55%; }
  100% {
    width: 50%; } }
@keyframes cd-bounce-in {
  0% {
    width: 0; }
  60% {
    width: 55%; }
  100% {
    width: 50%; } }
.cd-handle {
  position: absolute;
  height: 44px;
  width: 44px;
  /* center the element */
  left: 50%;
  top: 50%;
  margin-left: -22px;
  margin-top: -22px;
  border-radius: 50%;
  background: #fff url("../img/cd-arrows.svg") no-repeat center center;
  cursor: move;
  box-shadow: 0 0 0 6px rgba(0, 0, 0, 0.2), 0 0 10px rgba(0, 0, 0, 0.6), inset 0 1px 0 rgba(255, 255, 255, 0.3);
  opacity: 0;
  -webkit-transform: translate3d(0, 0, 0) scale(0);
  -moz-transform: translate3d(0, 0, 0) scale(0);
  -ms-transform: translate3d(0, 0, 0) scale(0);
  -o-transform: translate3d(0, 0, 0) scale(0);
  transform: translate3d(0, 0, 0) scale(0); }
  .cd-handle.draggable {
    /* change background color when element is active */
    background-color: #efefef; }

.is-visible .cd-handle {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0) scale(1);
  -moz-transform: translate3d(0, 0, 0) scale(1);
  -ms-transform: translate3d(0, 0, 0) scale(1);
  -o-transform: translate3d(0, 0, 0) scale(1);
  transform: translate3d(0, 0, 0) scale(1);
  -webkit-transition: -webkit-transform 0.3s 0.7s, opacity 0s 0.7s;
  -moz-transition: -moz-transform 0.3s 0.7s, opacity 0s 0.7s;
  transition: transform 0.3s 0.7s, opacity 0s 0.7s; }

.about-us-button {
  text-transform: uppercase;
  text-decoration: none;
  border: 2px solid #3C8779;
  font-size: 20px;
  color: #3C8779;
  font-weight: 700;
  padding: 0px 13px;
  background: none;
  margin-bottom: 30px;
  cursor: pointer; }

*, *:after, *:before {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

:focus {
  outline: none; }

img {
  max-width: 100%; }

.carousel-item img {
  width: 100%;
  height: auto; }

body, html {
  width: 100%;
  height: 100%;
  margin: 0;
  font-family: 'Open Sans', sans-serif;
  font-weight: 300;
  color: #555;
  background: #f5f5f5;
  font-size: 23px; }

hr.spec-rule {
  border-color: #b2ccc7;
  max-width: 250px; }

.strip {
  width: 16%;
  height: 100%;
  background: #469E8D;
  position: absolute;
  left: 50%;
  margin-left: -8%;
  z-index: -1;
  display: none; }

header {
  width: 100%;
  height: 100%;
  margin: 0px;
  background: #fff url(../main_bckgrnd.jpg) no-repeat;
  background-position: top !important;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  background-size: cover;
  -o-background-size: cover; }
  header a {
    display: block;
    height: 100%;
    text-align: center; }
    header a img {
      width: 80%;
      max-width: 750px;
      padding-top: 10%;
      margin: auto 0; }

.videoWrapper {
  position: relative;
  padding-bottom: 56.25%;
  /* 16:9 */
  padding-top: 25px;
  height: 0; }

.videoWrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

.invalid-warranty {
  border-top: 1px solid #ececec;
  padding: 20px 20px 10px 30px; }

.contact-data {
  margin-top: 25px; }
  .contact-data .mini-logo {
    text-align: center;
    padding-left: 30px;
    padding-top: 10px;
    padding-bottom: 10px; }
    .contact-data .mini-logo img {
      max-width: 70px; }
  .contact-data h3 {
    margin-bottom: 5px;
    font-size: 26px; }
  .contact-data p {
    font-size: 20px;
    padding-bottom: 0px;
    margin-bottom: 0px; }
    .contact-data p i {
      color: #469E8D;
      min-width: 30px;
      text-align: center; }
    .contact-data p a {
      color: #26594F; }
  .contact-data .contact-text {
    padding: 10px 15px;
    border-left: 1px solid #cac4c4; }
    @media (max-width: 767px) {
      .contact-data .contact-text {
        padding: 10px 40px; } }

main {
  background: #f5f5f5; }
  @media (min-width: 1200px) {
    main .intro {
      max-width: 1550px; } }
  main .why {
    background: white;
    margin-top: 40px;
    padding: 30px 30px 20px 30px; }
    main .why h2 {
      font-size: 33px;
      border-bottom: 2px solid #89CFC0;
      max-width: 560px;
      color: #26594F;
      padding: 15px 10px 8px 2px;
      font-weight: 300; }

.right-content {
  padding: 0px; }
  .right-content .philo {
    background: #55BCA9;
    color: white;
    padding: 20px 35px;
    margin-top: 80px; }
    .right-content .philo h2 {
      font-size: 33px;
      border-bottom: 2px solid white;
      max-width: 300px;
      padding: 15px 10px 13px 2px;
      font-weight: 600;
      letter-spacing: 2px;
      line-height: 25px; }
    .right-content .philo p {
      letter-spacing: 2px;
      line-height: 28px; }

.tour-wrap {
  margin: 50px 0px;
  background: white;
  padding: 50px 0px; }

@media (min-width: 1200px) {
  .tour {
    max-width: 1550px; } }
.tour .clinic h2 {
  font-size: 33px;
  border-bottom: 2px solid #89CFC0;
  max-width: 500px;
  color: #26594F;
  padding: 15px 10px 8px 2px;
  font-weight: 300; }
.tour .clinic a {
  text-transform: uppercase;
  text-decoration: none;
  border: 2px solid #3C8779;
  font-size: 20px;
  color: #3C8779;
  font-weight: 700;
  padding: 0px 13px; }
  .tour .clinic a:hover {
    opacity: 0.8;
    transition: opacity .5s ease-out; }
.tour .gallery {
  padding-top: 60px; }
  .tour .gallery #carousel-two {
    border: 5px solid #ccc; }

.treatments figure {
  text-align: center; }
  .treatments figure img {
    border: 1px solid #aadcd2;
    padding: 8px; }
@media (min-width: 1200px) {
  .treatments {
    max-width: 1300px; } }
.treatments h2 {
  font-size: 33px;
  border-bottom: 2px solid #89CFC0;
  max-width: 500px;
  color: #26594F;
  padding: 15px 10px 8px 2px;
  font-weight: 300;
  margin-bottom: 10px; }
.treatments .treatment-item {
  text-align: center; }
  .treatments .treatment-item .modal-header {
    border-bottom: 1px solid #16a085;
    padding: 7px 10px 7px 25px;
    background: #efefef; }
  .treatments .treatment-item .modal-content {
    text-align: left; }
    .treatments .treatment-item .modal-content button.btn-secondary {
      margin-top: 5px;
      background: #16a085;
      border: none;
      border-radius: 2px;
      color: #FFF;
      font-weight: 500;
      text-transform: uppercase;
      transition: 0.1s ease;
      cursor: pointer;
      padding: 2px 30px;
      border-bottom: 3px solid #007b68; }
  .treatments .treatment-item a {
    margin-bottom: 23px;
    display: inline-block;
    opacity: 1;
    transition: 0.15s filter linear, 0.15s -webkit-filter linear; }
    .treatments .treatment-item a:hover {
      text-decoration: none;
      filter: brightness(120%); }
  .treatments .treatment-item span {
    display: block;
    text-transform: uppercase;
    text-decoration: none;
    font-size: 20px;
    color: #3C8779;
    font-weight: 300;
    padding: 0px 13px;
    line-height: 22px; }

.guarantee-badge {
  text-align: center; }
  .guarantee-badge img {
    display: inline-block;
    padding-bottom: 27px;
    padding-top: 13px; }
  .guarantee-badge strong {
    display: inline-block;
    color: #fff;
    line-height: 25px;
    font-weight: bold;
    padding: 4px 74px;
    background: #55BCA9;
    box-shadow: 10px 1px 1px #54bca9, -10px 1px 1px #54bca9; }
    @media (max-width: 500px) {
      .guarantee-badge strong {
        padding: 4px 10px; } }

.price-and-guarantee {
  margin-top: 40px;
  background: white;
  padding-top: 30px;
  margin-bottom: 40px; }
  .price-and-guarantee .price-list a {
    background: #00AAE0;
    text-transform: uppercase;
    text-decoration: none;
    color: white;
    font-weight: 700;
    text-shadow: 10px 0px 0px #00AAE0, -10px 0px 0px #00AAE0;
    padding: 3px 10px 3px 45px;
    display: inline-block;
    position: relative;
    margin-top: 5px; }
    .price-and-guarantee .price-list a:before {
      display: inline-block;
      position: absolute;
      width: 35px;
      height: 37px;
      content: "\f0ac";
      font: 25px FontAwesome;
      background: #72d0be;
      text-shadow: none;
      top: 0px;
      left: 0px;
      line-height: 36px;
      padding-left: 6px; }
    .price-and-guarantee .price-list a:hover {
      opacity: .8;
      transition: opacity .5s ease-out; }
  @media (min-width: 1200px) {
    .price-and-guarantee .price-list {
      max-width: 1550px; } }
  .price-and-guarantee .price-list h2 {
    font-size: 33px;
    border-bottom: 2px solid #89CFC0;
    max-width: 500px;
    color: #26594F;
    padding: 15px 10px 8px 2px;
    font-weight: 300;
    margin-bottom: 10px; }
  .price-and-guarantee .price-list table {
    border: 1px solid #ddd; }
    .price-and-guarantee .price-list table .head {
      background: #eff9f8; }
    .price-and-guarantee .price-list table .info {
      border: none;
      background: none; }
    .price-and-guarantee .price-list table td {
      padding-left: 10px; }
  .price-and-guarantee .guarantee h2 {
    max-width: 100%;
    font-weight: 700;
    font-size: 22px; }
  .price-and-guarantee .guarantee h4 {
    line-height: 30px; }
  .price-and-guarantee .guarantee span {
    font-weight: 600;
    margin-bottom: 5px;
    display: block; }
  .price-and-guarantee .guarantee table {
    margin: 0 auto;
    margin-top: 14px;
    margin-bottom: 36px;
    border: 5px solid #e3efef; }
    .price-and-guarantee .guarantee table td {
      border: 1px solid #e3efef;
      padding: 3px 20px 3px 10px; }
    .price-and-guarantee .guarantee table td:nth-child(odd) {
      background: #eff9f8; }
    .price-and-guarantee .guarantee table td:nth-child(even) {
      font-weight: 400;
      text-shadow: 1px 1px 1px #ccc; }

footer {
  background: #f5f5f5; }
  footer h2 {
    font-size: 33px;
    border-bottom: 2px solid #89CFC0;
    max-width: 500px;
    color: #26594F;
    padding: 0px 10px 8px 2px;
    font-weight: 300; }

.sidebar-box {
  max-height: 1145px;
  position: relative;
  overflow: hidden; }
  .sidebar-box .read-more {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 9999;
    width: 100%;
    text-align: center;
    margin: 0;
    padding: 30px 0;
    /* "transparent" only works here because == rgba(0,0,0,0) */
    background-image: linear-gradient(to bottom, transparent, whitesmoke); }
    .sidebar-box .read-more a {
      color: #409283;
      font-weight: 700;
      padding: 5px;
      font-size: 23px; }

span.carousel-control-next-icon:before {
  content: "\f054";
  font: normal normal normal 14px/1 FontAwesome;
  font-size: 57px;
  color: white; }

span.carousel-control-next-icon, span.carousel-control-prev-icon {
  background: none !important; }

span.carousel-control-prev-icon:before {
  content: "\f053";
  font: normal normal normal 14px/1 FontAwesome;
  font-size: 57px;
  color: white; }

#about-us figure {
  text-align: center; }
  #about-us figure img {
    border: 1px solid #aadcd2;
    padding: 8px; }

.modal-body {
  padding: 10px 38px; }

.before-after-label {
  text-align: center; }

.first-visit {
  padding-top: 60px; }
  .first-visit h2 {
    font-size: 33px;
    border-bottom: 2px solid #89CFC0;
    max-width: 500px;
    color: #26594F;
    padding: 15px 10px 8px 2px;
    font-weight: 300; }

@media (max-width: 1000px) {
  .container {
    max-width: none; } }

/*# sourceMappingURL=style.css.map */
