/**
 * RESET
 */
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 {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    vertical-align: baseline;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {display: block;}
body {line-height: 1;}
ol, ul {list-style: none;}
blockquote, q {quotes: none;}
blockquote:before, blockquote:after, q:before, q:after {content: ''; content: none;}
table {border-collapse: collapse; border-spacing: 0;}
h1, h2, h3, h4, h5, h6 {font-weight: normal;}
input {outline: 0;}

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






/**
 * BASE
 */
html {
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    background: transparent;
}

/* box-sizing */
*, *:before, *:after {
    box-sizing: inherit;
}

/* body */
body {
    width: 100%;
    height: 100%;
    /*font-family: 'Open Sans', Helvetica, Arial, sans-serif;*/
    /*font-family: 'Roboto', sans-serif;*/
    font-family: 'Montserrat', sans-serif;
    font-size: 20px;
    line-height: 26px;
    letter-spacing: inherit;
    letter-spacing: 0;
    font-weight: 400;
    color: #333;
    opacity: 1;
    overflow-x: hidden;
    background: transparent;
}

body.lock {
    overflow: hidden;
}

@media only screen and (max-width: 575px) {
    body {
        font-size: 16px;
        line-height: 24px;
    }
}


/* img */
img {
    width: 100%;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
}


/* selection on page */
*::selection {
    background: #015fc8;
    color: #fff;
}

/* hide scrollbar */
@media only screen and (max-width: 767px) {
    ::-webkit-scrollbar { /* chrome based */
        width: 0;  /* ширина scrollbar'a */
        background: transparent;  /* опционально */
    }
    * {
        -ms-overflow-style: none;  /* IE 10+ */
        scrollbar-width: none; /* Firefox */
    }
}





/**
 * TYPOGRAPHY
 */
h1, h2, h3, h4, h5, h6 {
    position: relative;
    /*font-family: 'Open Sans', sans-serif;*/
    /*font-family: 'Roboto Condensed', sans-serif;*/
    font-family: 'Roboto', sans-serif;
    color: #666666;
    font-weight: 600;
    letter-spacing: 0;
    /*text-align: center;*/
    /*text-transform: uppercase;*/
    /*padding: 0;*/
    /*margin: 40px 0 20px;*/
    /*margin: 2em 0 1em;*/
        /*background: #ccffcc;*/
}

h1 {font-size: 45px; line-height: 55px; margin: 30px 0 20px;}
h2 {font-size: 35px; line-height: 45px; margin: 25px 0 15px;}
h3 {font-size: 30px; line-height: 36px; margin: 25px 0 15px;}
h4 {font-size: 25px; line-height: 30px; margin: 20px 0 10px;}
h5 {font-size: 20px; line-height: 25px; margin: 20px 0 10px;}
h6 {font-size: 18px; line-height: 24px; margin: 20px 0 10px;}


@media only screen and (max-width: 767px) {
    h1 {font-size: 35px; line-height: 44px;}
    h2 {font-size: 30px; line-height: 36px;}
    h3 {font-size: 25px; line-height: 30px;}
    h4 {font-size: 20px; line-height: 25px;}
    h5 {font-size: 18px; line-height: 23px;}
    h6 {font-size: 16px; line-height: 20px;}
}

h1 + h2,
h1 + h2 + h2 {
    margin: 0.75em 0;
}

h2 + h3,
h3 + h4,
h4 + h5,
h5 + h6 {
    margin-top: 0.5em;
}


/* decor title */
.decor:after {
        content: '';
        position: absolute;
        bottom: -10px;
        /*left: 0;*/
        left: 50%;
        transform: translateX(-50%);
        width: 150px;
        height: 3px;
        background: #015fc8;
    }
}


ul {
    list-style: none;
}

li {
    color: #000;
}

a {
    display: inline-block;
    color: #555;
    text-decoration: none;
    cursor: pointer;
    transition: 0.3s;

}
a:hover {
    color: #015fc8;
}

p {
    margin: 1em 0;
}
p + p {
    /*margin-top: 15px;*/
}
p a {
    color: #015fc8;
}
p a:hover {
    color: #015fc8;
    text-decoration: underline;
}

a.invert {
    color: #fff;
    text-decoration: underline;
    transition: 0.3s;
}
a.invert:hover {
    color: #ccc;
    text-decoration: none;
}

p.note, div.note {
    padding: 0.5em 2em;
}

blockquote {
    position: relative;
    padding: 15px 40px;
    margin: 45px 0;
    border-left: 3px solid #015fc8;
    background: #f7f7f7;
}
blockquote p {
    font-size: 18px;
    line-height: 30px;
    margin-bottom: 17px;
    font-weight: 300;
    font-style: italic;
}
blockquote .sm:before {
    content: '\2014 \00a0';
}
blockquote.quote {
    border: none;
    padding-left: 60px;
    font-style: italic;
    /*background: #ccc;*/
}
blockquote.quote:after {
    content: '\e977';
    font-family: 'icomoon' !important;
    position: absolute;
    top: 0;
    left: -10px;
    /*transform: rotate(180deg);*/
    color: #ccc;
    font-size: 50px;
    font-style: normal;
}

/* text */
.text ul {
    list-style: disc;
    margin: 5px 0 20px 20px;
}
.text ol {
    list-style: decimal;
    margin: 5px 0 20px 30px;
}
.text li {
    margin-bottom: 5px;
}
.text p {
    margin: 5px 0 15px;
}
.text a {
    color: #015fc8;
}
.text a:hover {
    color: #015fc8;
    text-decoration: underline;
}






/* WRAPPER */
.wrapper {
    position: relative;
    width: 100%;
    min-height: 100vh;
    background: transparent;
    /*padding-top: 70px;*/
    /*padding: 50px 0;*/
    display: flex;
    flex-direction: column;
    /*background: #ccffcc;*/
    background: #f9f9f9;
}

@media only screen and (max-width: 767px) {
    .wrapper {
        /*padding-top: 50px;*/
    }
}


/* CONTAINER */
.container {
    position: relative;
    max-width: 1400px;
    padding: 0 20px;
    margin: 0 auto;
    background: transparent;
        /*background: #ffccff;*/
}


/* CONTAINER-SLIM */
.container-slim {
    position: relative;
    width: 100%;
    max-width: 900px;
    padding: 0 20px 40px;
    margin: 0 auto;
    /*background: #f2f2f2;*/
        /*border: 1px solid #ff0000;*/
        /*background: #ccffcc;*/
}


/**
 * PAGE
 */
.page {
    background: #fff;
}
.page__text {
    padding: 0 25px;
}
.page__foot {
     margin-top: 60px;
 }



/**
 * LANGUAGES
 */
.languages {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin: 15px 0;
}

.languages li {
  font-size: 0;
  line-height: 0;
}

.languages li + li {
  margin-left: 10px;
}

.languages a:hover {
  text-decoration: none;
}

.languages__link {
  position: relative;
  display: inline-block;
  width: 26px;
  height: 26px;
  padding: 0;
  margin: 0;
  font-size: 14px;
  line-height: 0;
  font-weight: 600;
  text-decoration: none;
  color: #5a169f;
  border: 2px solid #5a169f;
  border-radius: 50%;
  background: transparent;
  transition: 0.3s;
}

.languages__link span {
  position: absolute;
  top: 45%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.languages__link:hover,
.languages__link:active,
.languages__link.active {
  color: #fff;
  border: 2px solid #5a169f;
  background: #5a169f;
  text-decoration: none;
}
