@charset "UTF-8";
/* Reset
-------------------------------------------------- */
html {
  overflow-y: scroll;
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -webkit-tap-highlight-color: transparent;
  tap-highlight-color: transparent;
  text-rendering: optimizeLegibility;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%; }

*,
*:before,
*:after {
  box-sizing: inherit;
  margin: 0;
  padding: 0;
  border: none; }

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 {
  font: inherit;
  font-size: 100%;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
  border: 0; }

h1,
h2,
h3,
h4,
h5,
h6,
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
main,
nav,
section,
summary {
  display: block; }

input[type=submit],
label,
select,
.pointer {
  cursor: pointer; }

ol,
ul {
  list-style: none; }

blockquote,
q {
  quotes: none; }

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

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: normal; }

ul,
li,
dl,
ol {
  display: block;
  margin: 0;
  padding: 0;
  list-style: none; }

code {
  font-family: 'Courier New', Courier, mono;
  font-size: 0.875em;
  background-color: #f4f4f4; }

hr {
  height: 9em;
  border: none; }

img {
  max-width: 100%; }

strong {
  font-weight: bold; }

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

::selection {
  color: #000000;
  /* Safari and Opera */
  background: #ececec; }

::-moz-selection {
  color: #000000;
  /* Firefox */
  background: #ececec; }

/* Hack */
@media all and (-webkit-min-device-pixel-ratio: 1) {
  selectors {
    properties: values; } }
em {
  font-style: italic; }

 /* Usage:

 div {
 @include flexbox();
 }

 */
/* Usage:

div {
 @include flex(1, 2);
 }

*/
/* Usage:

div {
  @include flex-order(3);
}

*/
/* Usage:

div {
  @include flex-direction(column);
}

*/
/**
 * Fix for vw, vh, vmin, vmax on iOS 7.
 * http://caniuse.com/#feat=viewport-units
 *
 * This fix works by replacing viewport units with px values on known screen sizes.
 *
 * iPhone 6 and 6 Plus cannot run iOS 7, so are not targeted by this fix.
 * Target devices running iOS 8+ will incidentally execute the media query,
 * but this will still produce the expected result; so this is not a problem.
 *
 * As an example, replace:
 *
 *   height: 50vh;
 *   font-size: 5vmin;
 *
 * with:
 *
 *   @include viewport-unit(height, 50vh);
 *   @include viewport-unit(font-size, 5vmin);
 */
/* Utilities
-------------------------------------------------- */
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

hr {
  clear: both;
  max-width: 100%;
  height: 4px;
  margin: 2em auto 0;
  content: '—';
  border: none;
  page-break-after: always; }

td {
  vertical-align: middle; }

img {
  width: auto;
  max-width: 100%; }

.cf:after {
  content: "";
  display: table;
  clear: both; }

.floatright {
  float: right; }

.floatleft {
  float: left; }

.inlineblock {
  display: inline-block; }

.block {
  display: block; }

.center {
  text-align: center; }

.line-above {
  border-top: 1px solid #70614E;
  margin-top: 1em;
  padding-top: 1em; }

.line-under {
  border-bottom: 1px solid #70614E;
  margin-bottom: 1em;
  padding-bottom: 1em; }

.underline {
  text-decoration: underline; }

.topmargin {
  margin-top: 1em; }

.highlight {
  color: #baad9d; }

@media screen and (max-width: 660px) {
  .not-mobile {
    display: none !important; } }

@media screen and (min-width: 661px) {
  .mobile-only {
    display: none !important; } }

/* Typography
-------------------------------------------------- */
body {
  font-family: Helvetica, Arial, sans-serif;
  font-style: normal;
  font-weight: 300;
  -webkit-font-smoothing: antialiased; }

h1, h2, h3, h4, h5, h6 {
  font-family: Helvetica, Arial, sans-serif;
  font-style: normal;
  font-weight: 700;
  -webkit-font-smoothing: antialiased; }

body {
  font-size: 16px;
  font-size: 1rem; }
  body.contacts .main .text {
    padding: 0 1em;
    margin-top: 2em; }
    @media screen and (min-width: 661px) {
      body.contacts .main .text {
        font-size: 57px;
        font-size: 3.5625rem;
        padding: 0 0.3333333333em; } }
  @media screen and (min-width: 661px) {
    body.contacts .main h1, body.contacts .main h2, body.contacts .main h3, body.contacts .main h4, body.contacts .main h5, body.contacts .main h6 {
      font-size: 48px;
      font-size: 3rem; } }

h1, h2, h3, h4, h5, h6 {
  line-height: 1.2; }
  p + h1, p + h2, p + h3, p + h4, p + h5, p + h6 {
    margin-top: 2em; }
  img + h1, img + h2, img + h3, img + h4, img + h5, img + h6 {
    margin-top: 1em; }

h1 {
  font-size: 24px;
  font-size: 1.5rem; }

h2 {
  font-size: 18px;
  font-size: 1.125rem; }

h3 {
  font-size: 16px;
  font-size: 1rem; }

h4 {
  font-size: 14px;
  font-size: 0.875rem; }

p {
  margin-bottom: 1em;
  line-height: 1.3; }

/* Layout
-------------------------------------------------- */
.section {
  margin: 9em 0; }
  .section:first-of-type {
    margin-top: 1em; }
  .section img {
    display: block;
    margin: 0 auto; }
  @media screen and (max-width: 900px) {
    .section {
      margin: 3em 0; } }

.inner {
  margin: 0 auto;
  max-width: 900px; }
  .inner-narrow {
    margin: 0 auto;
    max-width: 1170px; }
  @media screen and (max-width: 1170px) {
    .inner {
      padding: 0 1%; } }

/* Grid */
.row {
  clear: both;
  margin: 1em auto;
  overflow: hidden; }
  .row:after {
    content: "";
    display: table;
    clear: both; }

[class*='col-'] {
  float: left;
  margin: 1% 0 1% 3%; }
  [class*='col-']:first-of-type {
    margin-left: 0; }

.col-1-2 {
  width: 48.5%; }

.col-1-4 {
  width: 25%; }

.col-3-4 {
  width: 72%; }

.push-1-4 {
  margin-left: 23.5% !important; }

@media screen and (max-width: 660px) {
  [class*='col-'] {
    float: none;
    margin: 0;
    padding: 1%;
    width: 100%; } }

/* SITE */
body {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  line-height: 1.3;
  position: relative;
  min-width: 320px;
  margin: 0 auto;
  padding: 1.5em;
  padding: 0;
  color: #70614E;
  background-color: #fff; }

.header {
  position: relative;
  overflow: auto; }
  .header .logo {
    display: block;
    margin: 1em; }
  .header .logo-wrapper {
    float: left;
    width: 72%; }
  .header .social-wrapper {
    float: left;
    padding-right: 1%;
    text-align: right;
    width: 25%; }
  .header .social img {
    max-width: 60px; }

.footer {
  background: #fff;
  color: #70614E;
  display: block;
  overflow: auto;
  padding: 0.5em 0;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0; }
  .footer a {
    color: #524739; }
    .footer a:hover, .footer a.active {
      color: #524739; }

/* Links
-------------------------------------------------- */
a {
  transition: background 0.3s cubic-bezier(0.215, 0.61, 0.355, 1), border 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  text-decoration: none;
  color: #70614E; }

a:hover,
a.active {
  transition: background 0.3s cubic-bezier(0.215, 0.61, 0.355, 1), border 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  color: #baad9d;
  text-decoration: underline; }

h1 a,
h2 a,
h3 a,
h4 a {
  color: inherit;
  border: none; }

p a {
  position: relative;
  margin: -0.125em -0.05em;
  padding: 0.125em 0.05em; }

.top-link {
  position: absolute;
  bottom: 10px;
  right: 20px;
  width: 45px; }
  @media screen and (max-width: 660px) {
    .top-link {
      display: none; } }

/* Main
-------------------------------------------------- */
.main {
  padding: 1em 0; }

/* Menu
-------------------------------------------------- */
nav {
  display: block; }
  nav .menu {
    float: left; }
    nav .menu-left {
      width: 19%; }
    nav .menu-center {
      text-align: center;
      width: 60%; }
    nav .menu-right {
      margin-right: 1em;
      text-align: right;
      width: 19%; }
    nav .menu li {
      display: inline;
      margin-left: 1em;
      text-transform: uppercase; }
    nav .menu-btn {
      display: none;
      width: 39px; }
      nav .menu-btn img {
        margin: 7px 0; }
      @media screen and (max-width: 1090px) {
        nav .menu-btn {
          display: block;
          cursor: pointer;
          margin: 0 auto;
          text-transform: uppercase; } }
    @media screen and (max-width: 1090px) {
      nav .menu {
        background: #fff;
        padding-left: 0;
        display: inline-block;
        height: 100%;
        width: 32.5%;
        z-index: 10; }
        nav .menu li {
          float: none;
          display: block; } }
    @media screen and (max-width: 1090px) and (max-width: 660px) {
      nav .menu li {
        margin-left: 0; } }

    @media screen and (max-width: 660px) {
      nav .menu {
        display: block;
        width: 100%;
        text-align: center;
        margin-bottom: 1em; } }
    @media screen and (max-width: 1090px) {
      nav .menu__wrapper {
        display: none;
        width: 100%; }
        nav .menu__wrapper.expand {
          display: inline-block;
          height: 100%;
          z-index: 10; } }

.caption {
  margin-top: 0.5em;
  text-align: center; }

.grid {
  padding-top: 1em;
  text-align: center; }
  .grid-item {
    width: 22%;
    opacity: 0;
    transition: opacity 1s;
    margin-bottom: 1em;
    margin: 0 1.5%; }
    .grid-item.fade {
      opacity: 1; }
    .grid-item h3 {
      margin-top: 0.25em; }
    @media screen and (max-width: 900px) {
      .grid-item {
        width: 47%;
        max-width: 90%; } }
    @media screen and (max-width: 660px) {
      .grid-item {
        margin: 0 5%;
        width: 90%; } }

.double-image .col-1-2 {
  float: left;
  width: 48.5%;
  margin: 1% 0 1% 3%;
  padding: 0; }
  .double-image .col-1-2:first-of-type {
    margin-left: 0; }

.default .main {
  max-width: 750px;
  margin: 1em; }
