

html, body, p, li, td {
  font-family: 'Montserrat', sans-serif;
}

#layout {
  position: relative;
}

p {
  font-size: 18px;
  line-height: 1.5;0.2
}

a {
  text-decoration: none;
  color: #D43D3D;
}

h2 {
  font-size: 28px;
  font-weight: 400;
  margin: 24px 0 12px;
  line-height: 1.5;
}

.block h2 {
  display: block;
  min-height: 84px;
}

h1 {
  font-size: 36px;
  font-weight: 700;
  margin: 24px 0 18px;
  color: #D43D3D;
}

h1.pre-block {
  margin: 24px 0 36px;
}

/* --- */

.sidebar {
  position: relative;
  background-color: #D43D3D;
  background: url('../img/colibri.jpg');
  background-size: cover;
  font-family: font-family: 'Montserrat', sans-serif;
}

.sidebar-fill {
  position: absolute;
  width: 25%;
  bottom: 0;
  top: 0;
  background: #D43D3D;
}

.sidebar a, .sidebar span {
  color: #fff;
  font-size: 18px;
  transition: all 0.15s;
}

.sidebar a:hover {
  color: #D43D3D;
  padding-right: 16px;
}

.contacts-block a:hover {
  color: #fff;
  padding-right: 0;
}

.logo a:hover {
  padding: 0;
}

.sidebar span {
  font-weight: 900;
}

.content {
    padding: 5% 24px 48px 48px;
}

.header {
  margin: 20% 36px 0;
  text-align: right;
}

.pure-menu-heading, .pure-menu-link {
  padding: 8px 0;
  color: #ff6766;
  white-space: normal;
  line-height: 1.1;
}

.pure-menu-heading {
  font-weight: 700;
}

.logo-mobile {
  display: inline-block;
  padding: 18px 0;
  margin-left: 24px;
  height: 72px;
}

a.logo-mobile-link {
  color: #fff;
  font-size: 18px;
}

a.logo-mobile {
  padding-top: 24px 0;
  vertical-align: middle;
}

hr.devider  {
  border: none;
  height: 1px;
  color: #fff; /* old IE */
  background-color: #fff; /* Modern Browsers */
}

.block {
  padding-right: 24px;
}

.block li {
  font-size: 18px;
  list-style: initial;
  margin-left: 48px;
  line-height: 1.5;
}

.contacts-block {
  padding-top: 25%;
  padding-bottom: 25%;
}

.block-tonus {
  padding: 24px 48px 48px 0;
}

.block-tonus p {
  font-weight: 700;
}

.block-tonus img {
  width: 80%;
  padding-bottom: 18px;
}

.contacts-block p {
  border-top: #000 2px solid;
  padding-top: 18px;
  padding-bottom: 12px;
  text-align: right;
  font-size: 16px;
}

.contacts-block a {
  color: #000000;
}

.about {
  padding-top: 5%;
}

.icon {
  width: 16px;
  display: inline;
  padding: 0 13px;
  vertical-align: middle;
}

.icon-fb {
  width: 24px;
  display: inline;
  padding-right: 10px;
  vertical-align: middle;
}

.appointment {
  padding: 12px 18px;
  border: #fff 1px solid;
  text-align: center;
  margin-top: 12px;
  border-radius: 4px;
  transition: all 0.2s;
}

table.services {
  width: 100%;
  margin-top: 16px;
  margin-bottom: 48px;
  border-bottom: #ccc 1px solid;
}

table.contact {
  width: 100%;
  margin-top: 16px;
  margin-bottom: 48px;
  border-bottom: #ccc 1px solid;
}

.contact td {
  border-top: #ccc 1px solid;
  padding: 12px 0;
  font-weight: 700;
  display: block;
  width: 100%;
}

.contact td .icon {
  padding: 0 8px 0 0;
  vertical-align: middle;
}

.block .table-empty a {
  color: #fff;
}

.services td {
  border-top: #ccc 1px solid;
}

.services td a {
  padding: 10px 0;
  margin: 6px 0;
  font-weight: 700;
  display: block;
  width: 100%;
  border-left: #D43D3D 0 solid;

  -webkit-transition-property: border-left; /* Safari */
  -webkit-transition-duration: 0.07s; /* Safari */
  transition-property: border-left;
  transition-duration: 0.07s;
}

.services td a:hover {
  border-left: #D43D3D 6px solid;
  padding-left: 6px;
}

table.prices {
  width: 100%;
  margin: 18px 0 96px 0;
  border-bottom: #ccc 1px solid;
}

.prices td {
  border-top: #ccc 1px solid;
  padding: 18px 18px 18px 0;
  line-height: 1.1;
}

.invisible-on-desktop {
  display: none;
}

.img-tonus {
  padding-right: 24px;
}

@media screen and (max-width: 64em) {
  h1 {
    font-size: 28px;
    font-weight: 700;
  }
  h1.pre-block {
    margin: 24px 0 18px;
  }
  .sidebar {
    position: static;
    width: 100%;
  }
  .content {
      margin-left: 0;
      padding: 5% 0 48px 24px;
  }
  .block a {
    color: #d43d3d;
  }
  .header {
    margin: 24px 2em 0;
    text-align: right;
  }
  .block {
    padding-bottom: 72px;
  }
  .invisible-on-mobile {
    display: none;
  }
  .appointment {
    border: #232323 1px solid;
  }
  #menu li.appointment-mob {
    padding: 28px 18px 0 0;
  }
  .invisible-on-desktop {
    display: inline;
  }
}

@media screen and (max-width: 48em) {
  .block h2 {
    min-height: 0;
    padding-right: 0;
  }
}
