/***************************************************************************
Основано на Materialize
https://materializecss.github.io/materialize/getting-started.html

Сетка основана на Bootstrap v.5
https://bootstrap-4.ru/docs/5.0/layout/containers/
***************************************************************************/

/*--Мета-теги адаптивной верстки--*/
/*
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="HandheldFriendly" content="true">
*/

/*--CSS3 градиенты--*/
/*
background-color: #000;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#bbb', endColorstr='#000');
background-image: -webkit-gradient(linear, left top, left bottom, from(#bbb), to(#000));
background-image: -webkit-linear-gradient(top, #bbb, #000);
background-image: -moz-linear-gradient(top, #bbb, #000);
background-image: -ms-linear-gradient(top, #bbb, #000);
background-image: -o-linear-gradient(top, #bbb, #000);
background-image: linear-gradient(top, #bbb, #000);
*/

/*--CSS3 Transform--*/
/*
-webkit-transform: perspective(250) rotateX(45deg);
-moz-transform: perspective(250) rotateX(45deg);
-ms-transform: perspective(250) rotateX(45deg);
-o-transform: perspective(250) rotateX(45deg);
transform: perspective(250) rotateX(45deg);
*/

/*--BOX-SHADOW--*/
/*
  -webkit-box-shadow: 0 1px 0 0 #4CAF50;
          box-shadow: 0 1px 0 0 #4CAF50;
*/

/*--Свой @font-face--*/
/*
@font-face{
  font-family: 'MyFont';
  src: url('myfont.eot');
  src: url('myfont.eot?#iefix') format('embedded-opentype'),
    url('myfont.woff') format('woff'),
    url('myfont.ttf') format('truetype'),
    url('myfont.svg#webfont') format('svg');
}

h1 { font-family: 'MyFont', sans-serif; }
*/

/*--HTML5-медиа--*/
/*
<video poster="images/preview.png" width="1280" height="720" controls="controls" preload="none">
  <s ource src="media/video.mp4" type="video/mp4"></s ource>
  <s ource src="media/video.webm" type="video/webm"></so urce>
  <s ource src="media/video.ogg" type="video/ogg"></s ource>
</video>
<audio controls="controls" preload="none">
  <s ource src="music.ogg" type="audio/ogg">
  <s ource src="music.mp3" type="audio/mpeg">
</audio>
*/

/*--Код JavaScript, учитывающий параметры устройств--*/
/* например, проверим, соответствует ли указанный медиа-запрос (screen and (max-width: 543px)) устройству */
/* результат проверки можно получить с помощью свойства matches (true или false)
if (window.matchMedia('screen and (max-width: 543px)').matches) {
  // ... действия, если устройство отвечает медиа-запросу
} else {
  // ... действия, если устройство не соответствует значениям медиа-запроса
}
*/

/*---- Медиа-запросы ОТ ----*/
/* устройства (до 576px) - XS */
/*
@media (min-width: 576px) { SM }
@media (min-width: 768px) { MD }
@media (min-width: 992px) { LG }
@media (min-width: 1200px) { XL }
@media (min-width: 1400px) { XXL }
*/

/*---- Медиа-запросы ДО ----*/
/* устройства (от 1399.98px) - XXL */
/*
@media (max-width: 1399.98px) { XL }
@media (max-width: 1199.98px) { LG }
@media (max-width: 991.98px) { MD }
@media (max-width: 767.98px) { SM }
@media (max-width: 575.98px) { XS }
*/


/*--Обновлять стили CSS на странице без перезагрузки--*/
/*
https://palpalych.ru/blog/obnovlenie-stilej-css-bez-perezagruzki-stranicy-reload-css
(Устаревшее. Для FF есть 2 плагина: "CSS Reloader" клавишей F9 и плагин "CSS
CSS Reload" клавишами Ctrl+F9 (если прописано data-autoreload="false" у подключения <link ...css>
или Для Google и EDGE установить плагин "Auto CSS Reloader")
*/

@charset "UTF-8";

/***************************************************************************
!!!!!!Установка переменных стилей сайта!!!!!!
***************************************************************************/
:root {
  --color-primary: #122640;
  --color-second: #122640b8;
  --color-accent: #7189a552;

  --color-succes: #2F8475;
  --color-warning: #FBA846;
  --color-error: #CC4B2F;

  --color-white: #ffffff;
  --color-light: #F5F5F5;
  --color-silver: #D9D9D9;
  --color-gray: #8B8B8B;
  --color-dark: #122640;
  --color-black: #000000;

  --font-base: 1.18rem;
}

.bg_primary{
  background-color: var(--color-primary);
  color: var(--color-light);
}
.bg_accent{
  background-color: var(--color-accent);
}
.bg_lighting{
  background-color: #EDEDED;
}
.text-gray{
  color: var(--color-gray);
}
.text-white,
.text-white p{
  color: var(--color-white)!important;
}

p{
  color: var(--color-primary);
}
.bg_primary p{
  color: var(--color-gray);
}
.text-gray,
.text-gray p{
  color: var(--color-gray);
}

@media (max-width: 991.98px) {
  :root {
    --font-base: 1.12rem;
  }
}
@media (max-width: 767.98px) {
  :root {
    --font-base: 1.1rem;
  }
}
@media (max-width: 575.98px) {
  :root {
    --font-base: 1.0rem;
  }
}

h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
  font-weight: inherit;
}

/* Стили заголовков */
h1,.h1{
  font-style: normal;
  position: relative;
  font-size: 3.6rem;
  line-height: 1.1em;
  font-weight: 700;
  margin-top: 1rem;
  margin-bottom: 0;
}
table + h1,table + .h1,
ul + h1,ul + .h1,
ol + h1,ol + .h1,
p + h1,p + .h1{
  margin-top: 3rem;
}
h2,.h2{
  margin-bottom: 3rem;
  position: relative;
  font-size: 3.0rem;
  line-height: 1.1em;
  font-weight: 700;
}
table + h2,table + .h2,
ul + h2,ul + .h2,
ol + h2,ol + .h2,
p + h2,p + .h2{
  margin-top: 3rem;
}
h3,.h3{
  font-size: 2.4rem;
  margin-bottom: 2rem;
  /*overflow-wrap: break-word;*/
  line-height: 1.1em;
  font-weight: 700;
}
table + h3,table + .h3,
ul + h3,ul + .h3,
ol + h3,ol + .h3,
p + h3,p + .h3{
  margin-top: 2rem;
}
h4,.h4{
  font-size: 1.1rem;
  margin-bottom: 1.2rem;
  /*overflow-wrap: break-word;*/
  line-height: 1.2em;
  font-weight: 700;
}
table + h4,table + .h4,
ul + h4,ul + .h4,
ol + h4,ol + .h4,
p + h4,p + .h4{
  margin-top: 1.8rem;
}
h5,.h5{
  font-size: 1.5rem;
  margin-bottom: 1.4rem;
  line-height: 1.2em;
  font-weight: 700;
}
table + h5,table + .h5,
ul + h5,ul + .h5,
ol + h5,ol + .h5,
p + h5,p + .h5{
  margin-bottom: 1.4rem;
}
h1:last-child, h2:last-child, h3:last-child, h4:last-child, h5:last-child{
  margin-bottom: 0;
}
h1:first-child, h2:first-child, h3:first-child, h4:first-child, h5:first-child{
  margin-top: 0;
}
@media (max-width: 1399.98px) {
  h1,.h1{
    font-size: 3.4rem;
  }
  h2,.h2{
    font-size: 2.8rem;
  }
  h3,.h3{
    font-size: 2.2rem;
  }
  h4, .h4 {
    font-size: 1.4rem;
  }
  h5,.h5{
    font-size: 1.25rem;
  }
}
@media (max-width: 1199.98px) {
  h1,.h1{
    font-size: 3.3rem;
  }
  h2,.h2{
    font-size: 2.4rem;
  }
  h3,.h3{
    font-size: 2.7rem;
  }
  h4, .h4 {
    font-size: 1.5rem;
  }
  h5,.h5{
    font-size: 1.2rem;
  }
}
@media (max-width: 991.98px) {
  h1,.h1,
  h2,.h2,
  h3,.h3,
  h4,.h4,
  h5,.h5{
    overflow-wrap: break-word;
  }
  h1, .h1 {
    font-size: 3.2rem;
  }
  h2,.h2{
    font-size: 2.1rem;
  }
  h3,.h3{
    font-size: 2.6rem;
  }
  h4,.h4{
    font-size: 1.4rem;
  }
  h5,.h5{
    font-size: 1.1rem;
  }
}
@media (max-width: 767.98px) {
  h1, .h1{
    font-size: 3rem;
  }
  h2,.h2{
    font-size: 2rem;
  }
  h3,.h3{
    font-size: 2.5rem;
  }
  h4,.h4{
    font-size: 1.3rem;
  }
  h5,.h5{
    font-size: var(--font-base);
  }
}
@media (max-width: 575.98px) {
  h1, .h1{
    font-size: 2rem;
  }
  h2,.h2{
    font-size: 2rem;
  }
  h3,.h3{
    font-size: 1.8rem;
  }
  h4,.h4{
    font-size: 1.2rem;
  }
  h5,.h5{
    font-size: var(--font-base);
  }
}

/***************************************************************************
Сброс стандартных стилей браузеров
***************************************************************************/
*, *:before, *:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

html, body, div, span, applet, object, iframe, 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%;
  font: inherit;
  vertical-align: baseline;
  outline: none;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, main { display: block; }

section{ position: relative; }

ul[class],
ol[class] {
  padding: 0;
  margin: 0;
  list-style: none;
}
ul:not([class]) > li, ul:not([class]) > li * > li{
  margin-left: 1rem;
}
ol:not([class]) > li, ol:not([class]) > li * > li{
  margin-left: 2rem;
}
p {
  margin-bottom: 1em;
}
p + p{
  margin-top: 1em;
}
p:last-child {
  margin-bottom: 0;
}
ul,ol{
  margin-bottom: 1em;
}

blockquote, q { quotes: none; }
blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; }
strong { font-weight: bold; }

input { outline: none; }

table { border-collapse: collapse; border-spacing: 0; }
img { border: 0; max-width: 100%; height: auto;}

pre {
  white-space: pre-wrap;
  white-space: -moz-pre-wrap;
  white-space: -pre-wrap;
  white-space: -o-pre-wrap;
  word-wrap: break-word;
}

a { text-decoration: none; color: var(--color-black); display: inline-block;}
a:hover { text-decoration: none; outline: none; color: var(--color-gray)}
a:not([class]) {text-decoration-skip-ink: auto; text-decoration: underline;}
a:not([class]):hover { text-decoration: none; outline: none;}

.dark_side a {
  color: var(--color-sky);
  opacity: 0.8;
  font-weight: 300;
}
.dark_side a:hover {
  color: var(--color-sky);
  opacity: 1;
}
.dark_side a.big_h2,
.dark_side a.big_btn {
  font-weight: 400;
}

a:active,
a:hover,
a:visited,
a:focus,
img:active,
img:hover{
	outline: medium none!important;
}
*:focus {
	outline: none!important;
}
a.absolute-link:before,
a.fulllink:before{
  content: '';
  position: absolute;
  top:0;
  left:0;
  width: 100%;
  height: 100%;
}
a.absolute{
  position: absolute;
  top:0;
  left:0;
  width: 100%;
  height: 100%;
}
.absolute-top{
  position: absolute!important;
  top: 0;
}
.absolute-bottom{
  position: absolute!important;
  bottom: 0;
}
.absolute-left{
  position: absolute!important;
  left: 0;
}
.absolute-right{
  position: absolute!important;
  right: 0;
}
hr {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  height: 0;
  overflow: visible;
}

pre,code,kbd,samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
     -moz-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

dfn {
  font-style: italic;
}

mark {
  background-color: #ff0;
  color: #000;
}

audio:not([controls]) {
  display: none;
  height: 0;
}

svg:not(:root) {
  overflow: hidden;
}

button{
  cursor:pointer;
}

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

fieldset {
  margin-top: 1em;
  margin-bottom: 1em;
}

legend {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}

progress {
  display: inline-block;
  vertical-align: baseline;
}

textarea {
  overflow: auto;
}

[type=checkbox],
[type=radio] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 0;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

[type=search]::-webkit-search-cancel-button,
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

summary {
  display: list-item;
}

canvas {
  display: inline-block;
}

template {
  display: none;
}

[hidden] {
  display: none;
}

button, input, optgroup, select, textarea {
  font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
}
button:focus, select:focus, input:focus {
  outline: none;
}
::placeholder {
  opacity: 0.5;
}
:focus::placeholder {
  opacity: 0;
}

/*--clearfix, помогающий избавиться от несоответствий отображения элементов верстки в разных браузерах:--*/
.clearfix:before,
.clearfix:after {
    content: " ";
    display: table;
}
.clearfix:after {
    clear: both;
}
/* IE6/7 support */
.clearfix {
    *zoom: 1;
}

/*--Слишком длинные URL могут ломать верстку страницы. Чтобы избежать этого, можно применять следующий сниппет (подробнее на css-tricks.com), не работает в Opera и IE ниже восьмой версии--*/
.break {
    -ms-word-break: break-all;
    word-break: break-all;

    word-break: break-word;

    -webkit-hyphens: auto;
    -moz-hyphens: auto;
    hyphens: auto;
}
.ellipsis {
    width: 250px;
    white-space: nowrap;
    overflow: hidden;
    -ms-text-overflow: ellipsis;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
}

/*--Подготовка страницы для печати - Перевод контента в черно-белые цвета, отображение подчеркивания у ссылок, отображение URL рядом в скобках--*/
@media print {
    * {
        background: none !important;
        color: black !important;
        box-shadow: none !important;
        text-shadow: none !important;

        /* Images, vectors and such */
        filter: Gray();                          /* IE4-8: depreciated */
        filter: url('desaturate.svg#grayscale'); /* SVG version for IE10, Firefox, Safari 5 and Opera */
        -webkit-filter: grayscale(100%);         /* Chrome + Safari 6 */
        -moz-filter: grayscale(100%);            /* Future proof */
        -ms-filter: grayscale(100%);             /* Future proof */
        -o-filter: grayscale(100%);              /* Future proof */
        filter: grayscale(100%);                 /* Future proof or polyfilled */
    }

    a {
        text-decoration: underline;
    }

    a[href]:after {
        content: " (" attr(href) ")";
    }

    a[href="#"],
    a[href="javascript:"] {
        content: "";
    }
}

/***************************************************************************
УСТНОВКА СТАНДАРТНЫХ СТИЛЕЙ
***************************************************************************/
html {
  overflow-x: hidden;
  height: 100%;
  line-height: 1.4;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}
body {
  margin: 0;
  padding: 0;
  min-height: 100vh;
  scroll-behavior: smooth;
  text-rendering: optimizeSpeed;
  overflow: overlay;
  overflow-x: hidden;
  color: #43638C;
  font-size: 100%;
  font-size: var(--font-base);
  font-style: normal;
  font-family: 'Montserrat',sans-serif,"Segoe UI","Helvetica Neue";
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.015em;
  background-color: var(--color-sky);
}
/* Для фиксированного размера шрифтов на больших экранах (все размеры указывать в rem)*/
@media (min-width: 1900px) {
  html{
      /*font-size: 0.86vw;*/
  }
}

/* Стилизация скролла */
::-webkit-scrollbar{width:5px}
::-webkit-scrollbar-track{border-radius:10px;box-shadow:inset 0 0 5px transparent}
::-webkit-scrollbar-thumb{background:grey;border-radius:10px}:root{--swiper-theme-color:#000!important}

/* периодичность в потоке данных у article*/
article > * + * {
  margin-top: 1em;
}

/* Наследуем шрифты для инпутов и кнопок */
input,button,textarea,select {
  font: inherit;
}


.min-content{
  width: min-content;
}
.full-content{
  width: 100%;
}
@media (min-width: 768px) {
  .life-content{
    width: 75%;
  }
}
@media (min-width: 1200px) {
  .life-content{
    width: 60%;
  }
}
@media (min-width: 1700px) {
  .life-content{
    width: 50%;
  }
}


/*-- Плавные переходы --*/
a, button{
  -webkit-transition: all 200ms ease;
	-moz-transition: all 200ms ease;
	-o-transition: all 200ms ease;
	transition: all 200ms ease;
}

/***************************************************************************
СТИЛИ ЭЛЕМЕНТОВ УПРАВЛЕНИЯ
***************************************************************************/

/* Style Placeholders */
::-webkit-input-placeholder {
  color: var(--color-gray);
}
::-moz-placeholder {
  color: var(--color-gray);
}
::-ms-input-placeholder {
  color: var(--color-gray);
}
::placeholder {
  color: var(--color-gray);
}
/* Style Placeholders Dark_side */


/* Text inputs */
input:not([type]):not(.browser-default),
input[type=text]:not(.browser-default),
input[type=password]:not(.browser-default),
input[type=email]:not(.browser-default),
input[type=url]:not(.browser-default),
input[type=time]:not(.browser-default),
input[type=date]:not(.browser-default),
input[type=datetime]:not(.browser-default),
input[type=datetime-local]:not(.browser-default),
input[type=tel]:not(.browser-default),
input[type=number]:not(.browser-default),
input[type=search]:not(.browser-default),
textarea.materialize-textarea {
  background-color: transparent;
  border: none;
  border-bottom: 1px solid var(--color-gray);
  border-radius: 0;
  outline: none;
  height: 3rem;
  width: 100%;
  margin: 0 0 8px 0;
  padding: 0;
  -webkit-box-shadow: none;
          box-shadow: none;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  -webkit-transition: border 0.3s, -webkit-box-shadow 0.3s;
  transition: border 0.3s, -webkit-box-shadow 0.3s;
  transition: box-shadow 0.3s, border 0.3s;
  transition: box-shadow 0.3s, border 0.3s, -webkit-box-shadow 0.3s;
}


.input-field {
  position: relative;
  margin-top: 1rem;
  margin-bottom: 1rem;
}

.bg_primary input{
  color: var(--color-light);
}

/* Textarea */
textarea {
  width: 100%;
  height: 3rem;
  background-color: transparent;
}
textarea.materialize-textarea {
  line-height: normal;
  overflow-y: hidden;
  /* prevents scroll bar flash */
  padding: 0.8rem 0 0.8rem 0;
  /* prevents text jump on Enter keypress */
  resize: none;
  min-height: 3rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.hiddendiv {
  visibility: hidden;
  white-space: pre-wrap;
  word-wrap: break-word;
  overflow-wrap: break-word;
  /* future version of deprecated 'word-wrap' */
  padding-top: 1.2rem;
  /* prevents text jump on Enter keypress */
  position: absolute;
  top: 0;
  z-index: -1;
}

/* Autocomplete */
.autocomplete-content li .highlight {
  color: #444;
}
.autocomplete-content li img {
  height: 40px;
  width: 40px;
  margin: 5px 15px;
}

/* Character Counter */
.character-counter {
  min-height: 18px;
}

/* Radio Buttons
   ========================================================================== */
[type=radio]:not(:checked),
[type=radio]:checked {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

[type=radio]:not(:checked) + span,
[type=radio]:checked + span {
  position: relative;
  padding-left: 35px;
  cursor: pointer;
  display: inline-block;
  height: 25px;
  line-height: 25px;
  font-size: 1rem;
  -webkit-transition: 0.28s ease;
  transition: 0.28s ease;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

[type=radio] + span:before,
[type=radio] + span:after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  margin: 4px;
  width: 16px;
  height: 16px;
  z-index: 0;
  -webkit-transition: 0.28s ease;
  transition: 0.28s ease;
}

/* Unchecked styles */
[type=radio]:not(:checked) + span:before,
[type=radio]:not(:checked) + span:after,
[type=radio]:checked + span:before,
[type=radio]:checked + span:after,
[type=radio].with-gap:checked + span:before,
[type=radio].with-gap:checked + span:after {
  border-radius: 50%;
}

[type=radio]:not(:checked) + span:before,
[type=radio]:not(:checked) + span:after {
  border: 2px solid #5a5a5a;
}

[type=radio]:not(:checked) + span:after {
  -webkit-transform: scale(0);
          transform: scale(0);
}

/* Checked styles */
[type=radio]:checked + span:before {
  border: 2px solid transparent;
}

[type=radio]:checked + span:after,
[type=radio].with-gap:checked + span:before,
[type=radio].with-gap:checked + span:after {
  border: 2px solid #26a69a;
}

[type=radio]:checked + span:after,
[type=radio].with-gap:checked + span:after {
  background-color: #26a69a;
}

[type=radio]:checked + span:after {
  -webkit-transform: scale(1.02);
          transform: scale(1.02);
}

/* Radio With gap */
[type=radio].with-gap:checked + span:after {
  -webkit-transform: scale(0.5);
          transform: scale(0.5);
}

/* Focused styles */
[type=radio].tabbed:focus + span:before {
  -webkit-box-shadow: 0 0 0 10px rgba(0, 0, 0, 0.1);
          box-shadow: 0 0 0 10px rgba(0, 0, 0, 0.1);
}

/* Disabled Radio With gap */
[type=radio].with-gap:disabled:checked + span:before {
  border: 2px solid rgba(0, 0, 0, 0.42);
}

[type=radio].with-gap:disabled:checked + span:after {
  border: none;
  background-color: rgba(0, 0, 0, 0.42);
}

/* Disabled style */
[type=radio]:disabled:not(:checked) + span:before,
[type=radio]:disabled:checked + span:before {
  background-color: transparent;
  border-color: rgba(0, 0, 0, 0.42);
}

[type=radio]:disabled + span {
  color: rgba(0, 0, 0, 0.42);
}

[type=radio]:disabled:not(:checked) + span:before {
  border-color: rgba(0, 0, 0, 0.42);
}

[type=radio]:disabled:checked + span:after {
  background-color: rgba(0, 0, 0, 0.42);
  border-color: #949494;
}

/* Checkboxes
   ========================================================================== */
/* Remove default checkbox */

input[type=checkbox] + label{
  cursor: pointer;
}

[type=checkbox] {
  /* checkbox aspect */
  cursor: pointer;
}


/* Switch
   ========================================================================== */
.switch,
.switch * {
  -webkit-tap-highlight-color: transparent;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.switch label {
  cursor: pointer;
}

.switch label input[type=checkbox] {
  opacity: 0;
  width: 0;
  height: 0;
}
.switch label input[type=checkbox]:checked:not([disabled]) {
  background-color: #84c7c1;
}
.switch label input[type=checkbox]:checked + .lever:before, .switch label input[type=checkbox]:checked + .lever:after {
  left: 18px;
}
.switch label input[type=checkbox]:checked + .lever:after {
  background-color: #26a69a;
}

.switch label .lever {
  content: "";
  display: inline-block;
  position: relative;
  width: 36px;
  height: 14px;
  background-color: rgba(0, 0, 0, 0.38);
  border-radius: 15px;
  margin-right: 10px;
  -webkit-transition: background 0.3s ease;
  transition: background 0.3s ease;
  vertical-align: middle;
  margin: 0 16px;
}
.switch label .lever:before, .switch label .lever:after {
  content: "";
  position: absolute;
  display: inline-block;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  left: 0;
  top: -3px;
  -webkit-transition: left 0.3s ease, background 0.3s ease, -webkit-box-shadow 0.1s ease, -webkit-transform 0.1s ease;
  transition: left 0.3s ease, background 0.3s ease, -webkit-box-shadow 0.1s ease, -webkit-transform 0.1s ease;
  transition: left 0.3s ease, background 0.3s ease, box-shadow 0.1s ease, transform 0.1s ease;
  transition: left 0.3s ease, background 0.3s ease, box-shadow 0.1s ease, transform 0.1s ease, -webkit-box-shadow 0.1s ease, -webkit-transform 0.1s ease;
}
.switch label .lever:before {
  background-color: rgba(38, 166, 154, 0.15);
}
.switch label .lever:after {
  background-color: #F1F1F1;
  -webkit-box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);
          box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);
}

input[type=checkbox]:checked:not(:disabled) ~ .lever:active::before,
input[type=checkbox]:checked:not(:disabled).tabbed:focus ~ .lever::before {
  -webkit-transform: scale(2.4);
          transform: scale(2.4);
  background-color: rgba(38, 166, 154, 0.15);
}

input[type=checkbox]:not(:disabled) ~ .lever:active:before,
input[type=checkbox]:not(:disabled).tabbed:focus ~ .lever::before {
  -webkit-transform: scale(2.4);
          transform: scale(2.4);
  background-color: rgba(0, 0, 0, 0.08);
}

.switch input[type=checkbox][disabled] + .lever {
  cursor: default;
  background-color: rgba(0, 0, 0, 0.12);
}

.switch label input[type=checkbox][disabled] + .lever:after,
.switch label input[type=checkbox][disabled]:checked + .lever:after {
  background-color: #949494;
}

/* Select Field
   ========================================================================== */
select.browser-default {
  opacity: 1;
}

select {
    background-color: rgb(24 24 24);
    width: 100%;
    border: none;
    border-radius: 2px;
    height: 3rem;
    color: white;
    border-bottom: 1px solid var(--color-gray);
}

.select-label {
  position: absolute;
}

.select-wrapper {
  position: relative;
}
.select-wrapper.valid + label, .select-wrapper.invalid + label {
  width: 100%;
  pointer-events: none;
}
.select-wrapper input.select-dropdown {
  position: relative;
  cursor: pointer;
  background-color: transparent;
  border: none;
  border-bottom: 1px solid #9e9e9e;
  outline: none;
  height: 3rem;
  line-height: 3rem;
  width: 100%;
  font-size: 16px;
  margin: 0 0 8px 0;
  padding: 0;
  display: block;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  z-index: 1;
}
.select-wrapper input.select-dropdown:focus {
  border-bottom: 1px solid #26a69a;
}
.select-wrapper .caret {
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto 0;
  z-index: 0;
  fill: rgba(0, 0, 0, 0.87);
}
.select-wrapper + label {
  position: absolute;
  top: -26px;
  font-size: 0.8rem;
}
.select-wrapper .hide-select {
  width: 0;
  height: 0;
  overflow: hidden;
  position: absolute;
  top: 0;
  z-index: -1;
}

select:disabled {
  color: rgba(0, 0, 0, 0.42);
}

.select-wrapper.disabled + label {
  color: rgba(0, 0, 0, 0.42);
}
.select-wrapper.disabled .caret {
  fill: rgba(0, 0, 0, 0.42);
}

.select-wrapper input.select-dropdown:disabled {
  color: rgba(0, 0, 0, 0.42);
  cursor: default;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.select-wrapper i {
  color: rgba(0, 0, 0, 0.3);
}

.select-dropdown li.disabled,
.select-dropdown li.disabled > span,
.select-dropdown li.optgroup {
  color: rgba(0, 0, 0, 0.3);
  background-color: transparent;
}

body.keyboard-focused .select-dropdown.dropdown-content li:focus {
  background-color: rgba(0, 0, 0, 0.08);
}

.select-dropdown.dropdown-content li:hover {
  background-color: rgba(0, 0, 0, 0.08);
}
.select-dropdown.dropdown-content li.selected {
  background-color: rgba(0, 0, 0, 0.03);
}

.prefix ~ .select-wrapper {
  margin-left: 3rem;
  width: 92%;
  width: calc(100% - 3rem);
}

.prefix ~ label {
  margin-left: 3rem;
}

.suffix ~ .select-wrapper {
  margin-right: 3rem;
  width: 92%;
  width: calc(100% - 3rem);
}

.suffix ~ label {
  margin-right: 3rem;
}

.select-dropdown li img {
  height: 40px;
  width: 40px;
  margin: 5px 15px;
  float: right;
}

.select-dropdown li.optgroup {
  border-top: 1px solid #eee;
}
.select-dropdown li.optgroup.selected > span {
  color: rgba(0, 0, 0, 0.7);
}
.select-dropdown li.optgroup > span {
  color: rgba(0, 0, 0, 0.4);
}
.select-dropdown li.optgroup ~ li.optgroup-option {
  padding-left: 1rem;
}

/* File Input
   ========================================================================== */
.file-field {
  position: relative;
}
.file-field .file-path-wrapper {
  overflow: hidden;
  padding-left: 10px;
}
.file-field input.file-path {
  width: 100%;
}
.file-field .btn, .file-field .btn-large, .file-field .btn-small {
  float: left;
  height: 3rem;
  line-height: 3rem;
}
.file-field span {
  cursor: pointer;
}
.file-field input[type=file] {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  width: 100%;
  margin: 0;
  padding: 0;
  font-size: 20px;
  cursor: pointer;
  opacity: 0;
  filter: alpha(opacity=0);
}
.file-field input[type=file]::-webkit-file-upload-button {
  display: none;
}

/* Range
   ========================================================================== */
.range-field {
  position: relative;
}

input[type=range],
input[type=range] + .thumb {
  cursor: pointer;
}

input[type=range] {
  position: relative;
  background-color: transparent;
  border: none;
  outline: none;
  width: 100%;
  margin: 15px 0;
  padding: 0;
}
input[type=range]:focus {
  outline: none;
}

input[type=range] + .thumb {
  position: absolute;
  top: 10px;
  left: 0;
  border: none;
  height: 0;
  width: 0;
  border-radius: 50%;
  background-color: #26a69a;
  margin-left: 7px;
  -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
input[type=range] + .thumb .value {
  display: block;
  width: 30px;
  text-align: center;
  color: #26a69a;
  font-size: 0;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
input[type=range] + .thumb.active {
  border-radius: 50% 50% 50% 0;
}
input[type=range] + .thumb.active .value {
  color: #fff;
  margin-left: -1px;
  margin-top: 8px;
  font-size: 10px;
}

input[type=range] {
  -webkit-appearance: none;
}

input[type=range]::-webkit-slider-runnable-track {
  height: 3px;
  background: #c2c0c2;
  border: none;
}

input[type=range]::-webkit-slider-thumb {
  border: none;
  height: 14px;
  width: 14px;
  border-radius: 50%;
  background: #26a69a;
  -webkit-transition: -webkit-box-shadow 0.3s;
  transition: -webkit-box-shadow 0.3s;
  transition: box-shadow 0.3s;
  transition: box-shadow 0.3s, -webkit-box-shadow 0.3s;
  -webkit-appearance: none;
  background-color: #26a69a;
  -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
  margin: -5px 0 0 0;
}

.keyboard-focused input[type=range]:focus:not(.active)::-webkit-slider-thumb {
  -webkit-box-shadow: 0 0 0 10px rgba(38, 166, 154, 0.26);
          box-shadow: 0 0 0 10px rgba(38, 166, 154, 0.26);
}

input[type=range] {
  border: 1px solid white;
}

input[type=range]::-moz-range-track {
  height: 3px;
  background: #c2c0c2;
  border: none;
}

input[type=range]::-moz-focus-inner {
  border: 0;
}

input[type=range]::-moz-range-thumb {
  border: none;
  height: 14px;
  width: 14px;
  border-radius: 50%;
  background: #26a69a;
  -webkit-transition: -webkit-box-shadow 0.3s;
  transition: -webkit-box-shadow 0.3s;
  transition: box-shadow 0.3s;
  transition: box-shadow 0.3s, -webkit-box-shadow 0.3s;
  margin-top: -5px;
}

input[type=range]:-moz-focusring {
  outline: 1px solid #fff;
  outline-offset: -1px;
}

.keyboard-focused input[type=range]:focus:not(.active)::-moz-range-thumb {
  box-shadow: 0 0 0 10px rgba(38, 166, 154, 0.26);
}

input[type=range]::-ms-track {
  height: 3px;
  background: transparent;
  border-color: transparent;
  border-width: 6px 0;
  /*remove default tick marks*/
  color: transparent;
}

input[type=range]::-ms-fill-lower {
  background: #777;
}

input[type=range]::-ms-fill-upper {
  background: #ddd;
}

input[type=range]::-ms-thumb {
  border: none;
  height: 14px;
  width: 14px;
  border-radius: 50%;
  background: #26a69a;
  -webkit-transition: -webkit-box-shadow 0.3s;
  transition: -webkit-box-shadow 0.3s;
  transition: box-shadow 0.3s;
  transition: box-shadow 0.3s, -webkit-box-shadow 0.3s;
}

.keyboard-focused input[type=range]:focus:not(.active)::-ms-thumb {
  box-shadow: 0 0 0 10px rgba(38, 166, 154, 0.26);
}




/***************************************************************************
***********************************************************************************************
*****************************************************************************************************************
СВОИ СТИЛИ ВЕРСТКИ СВОИ СТИЛИ ВЕРСТКИ СВОИ СТИЛИ ВЕРСТКИ СВОИ СТИЛИ ВЕРСТКИ СВОИ СТИЛИ ВЕРСТКИ СВОИ СТИЛИ ВЕРСТКИ СВОИ СТИЛИ ВЕРСТКИ
*****************************************************************************************************************
***********************************************************************************************
***************************************************************************/



/*-- КНОПКИ --*/
button.link{
  background:none;
  border: 0 none;
  padding: 0;
  color:var(--color-gray);
}
button.link:hover{
  color:var(--color-black);
  background:none;
  border: 0 none;
}

.btn {
	padding: calc(var(--gutter-x) / 4) calc(var(--gutter-x) / 2);
	text-shadow: none;
  font-weight: 400!important;
  position:relative;
  border: 1px solid var(--color-primary);
  display: inline-block;
  z-index: 1;
}
.btn:hover{
  color: var(--color-light);
  border: 1px solid var(--color-light);
}

.bg_primary .btn,
.btn.btn-white{
  color: var(--color-light);
  border: 1px solid var(--color-light);
  background: transparent;
}
.bg_primary .btn:hover,
.btn.btn-white:hover{
  background-color: var(--color-light);
  color: var(--color-primary);
}
.bg_primary .link{
  color: var(--color-light);
}

/*----------------- BOX-SHADOW ----------------*/
.box-shadow-0 {
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
}

.box-shadow-1 {
  -webkit-box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2);
          box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2);
}

.box-shadow-2 {
  -webkit-box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.3);
          box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.3);
}

.box-shadow-3 {
  -webkit-box-shadow: 0 8px 17px 2px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12), 0 5px 5px -3px rgba(0, 0, 0, 0.2);
          box-shadow: 0 8px 17px 2px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12), 0 5px 5px -3px rgba(0, 0, 0, 0.2);
}

.box-shadow-4 {
  -webkit-box-shadow: 0 16px 24px 2px rgba(0, 0, 0, 0.14), 0 6px 30px 5px rgba(0, 0, 0, 0.12), 0 8px 10px -7px rgba(0, 0, 0, 0.2);
          box-shadow: 0 16px 24px 2px rgba(0, 0, 0, 0.14), 0 6px 30px 5px rgba(0, 0, 0, 0.12), 0 8px 10px -7px rgba(0, 0, 0, 0.2);
}

.box-shadow-5 {
  -webkit-box-shadow: 0 24px 38px 3px rgba(0, 0, 0, 0.14), 0 9px 46px 8px rgba(0, 0, 0, 0.12), 0 11px 15px -7px rgba(0, 0, 0, 0.2);
          box-shadow: 0 24px 38px 3px rgba(0, 0, 0, 0.14), 0 9px 46px 8px rgba(0, 0, 0, 0.12), 0 11px 15px -7px rgba(0, 0, 0, 0.2);
}

/*-- PARALLAX --*/
.parallax-container {
  position: relative;
  overflow: hidden;
  height: 500px;
}
.parallax-container .parallax {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
}
.parallax-container .parallax img {
  opacity: 0;
  position: absolute;
  left: 50%;
  bottom: 0;
  min-width: 100%;
  min-height: 100%;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

/*--Modal--*/
.modal {
  display: none;
  position: fixed;
  left: 0;
  right: 0;
  background-color: #fafafa;
  padding: 0;
  max-height: 70%;
  width: 55%;
  margin: auto;
  overflow-y: auto;
  border-radius: 2px;
  will-change: top, opacity;
}
.modal:focus {
  outline: none;
}
@media only screen and (max-width : 992.99px) {
  .modal {
    width: 80%;
  }
}
.modal h1, .modal h2, .modal h3, .modal h4 {
  margin-top: 0;
}
.modal .modal-content {
  padding: 24px;
  overflow-y: hidden;
}
.modal .modal-close {
  cursor: pointer;
}
.modal .modal-footer {
  border-radius: 0 0 2px 2px;
  background-color: #fafafa;
  padding: 4px 6px;
  height: 56px;
  width: 100%;
  text-align: right;
}
.modal .modal-footer .btn, .modal .modal-footer .btn-large, .modal .modal-footer .btn-small, .modal .modal-footer .btn-flat {
  margin: 6px 0;
}

.modal-overlay {
  position: fixed;
  z-index: 999;
  top: -25%;
  left: 0;
  bottom: 0;
  right: 0;
  height: 125%;
  width: 100%;
  background: #000;
  display: none;
  will-change: opacity;
}

.modal.modal-fixed-footer {
  padding: 0;
  height: 70%;
}
.modal.modal-fixed-footer .modal-content {
  position: absolute;
  height: calc(100% - 56px);
  max-height: 100%;
  width: 100%;
  overflow-y: auto;
}
.modal.modal-fixed-footer .modal-footer {
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  position: absolute;
  bottom: 0;
}

.modal.bottom-sheet {
  top: auto;
  bottom: -100%;
  margin: 0;
  width: 100%;
  max-height: 45%;
  border-radius: 0;
  will-change: bottom, opacity;
}

/*-- Таблицы --*/
table {
  width: 100%;
  display: table;
  border-collapse: collapse;
  border-spacing: 0;
}
table, th, td {
  border: none;
}

.img-responsive,
.responsive-img,
video.responsive-video {
  max-width: 100%;
  height: auto;
}

.fade-in {
  opacity: 0;
  -webkit-transform-origin: 0 50%;
          transform-origin: 0 50%;
}

.float-left {
    float: left;
}

.float-right {
    float: right;
}

.hide {
    display: none!important;
}

.show {
    display: block!important;
}

.left-align {
  text-align: left;
}

.right-align {
  text-align: right;
}

.center-align {
  text-align: center;
}

.center-block {
  display: table;
  margin-left: auto;
  margin-right: auto;
}

.left {
  float: left !important;
}

.right {
  float: right !important;
}

.circle {
  border-radius: 50%;
}

.truncate {
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.relative{
  position: relative;
  /*height: 100%;
  width: 100%;*/
}
.absolute{
  position: absolute;
  /*height: 100%;
  width: 100%;*/
}

.wh100{
  height: 100%;
  width: 100%;
}

.center{
  display: flex;
  align-items: center;
  align-content: center;
  justify-content: space-between;
  flex-direction: column;
}
article{
  margin-bottom: var(--gutter-x);
}
.h-100{
  height: 100%;
}
.h100{
  height: 100vh!important;
}
.mh100{
  min-height: 100vh!important;
}

.slider-gap{
  padding-top: 12px;
  padding-bottom: 12px;
}

em {
  font-style: italic;
}

sub,sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.5em;
}

.small, small {
  font-size: 80%;
}
strong, .strong {
  font-weight: 600;
}
.bg_primary strong {
  font-weight: 400;
  color: var(--color-light);
}
.light {
  font-weight: 300;
}
.thin {
  font-weight: 200;
}
.easy{
  opacity: 0.5;
}
.bold {
  font-weight: 700!important;
}

.two-col{
  column-width: calc(50% - (var(--row-gutter-x) * .5));
	column-count: 2;
	column-gap: var(--row-gutter-x);
}

.normal{
  font-size: var(--font-base);
  text-transform: none;
  font-weight: 400;
}
.black {
  background-color: #000000 !important;
}

.black-text {
  color: #000000 !important;
}

.white {
  background-color: #FFFFFF !important;
}

.white-text {
  color: #FFFFFF !important;
}

.transparent {
  background-color: transparent !important;
}

.transparent-text {
  color: transparent !important;
}

blockquote {
  margin: 20px 0;
  padding-left: 1.5rem;
  border-left: 5px solid #aaaaaa;
}

.fade-in {
  opacity: 0;
  -webkit-transform-origin: 0 50%;
          transform-origin: 0 50%;
}

.float-left {
    float: left;
}

.float-right {
    float: right;
}

.hide {
    display: none!important;
}

.show {
    display: block!important;
}

.x-hidden{
  overflow-x: hidden;
}

.left-align {
  text-align: left;
}

.right-align {
  text-align: right;
}

.center-align {
  text-align: center;
}

.center-block {
  display: table;
  margin-left: auto;
  margin-right: auto;
}

.center-center {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  width: 100%;
}

.left {
  float: left !important;
}

.right {
  float: right !important;
}

.circle {
  border-radius: 50%;
}

.shadow{
  box-shadow: 0 10px 20px rgb(0 0 0 / 30%);
}

.truncate {
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.text-uppercase{
  text-transform: uppercase;
}
.text-uppercase-none{
  text-transform: none!important;
}
.w-100{
  font-weight: 100;
}
.w-200{
  font-weight: 200;
}
.w-300{
  font-weight: 300;
}
.w-400{
  font-weight: 400;
}
.w-500{
  font-weight: 500;
}
.w-600{
  font-weight: 600;
}
.w-700{
  font-weight: 700;
}
.w-800{
  font-weight: 800;
}
.w-900{
  font-weight: 900;
}
.cover{
  height: 100%;
  width: 100%;
  object-fit: cover;
  object-position: 50% 50%;
}
.height90{
  height: 90vh;
}
.height90 img{
  height: 90vh;
  width: 100%;
  -o-fit-object: cover;
  object-fit: cover;
  object-position: 50% 50%;
}
.mb-n2{
  margin-bottom: -0.5rem;
}

.d-inline-block > *{
  margin-right: 1rem;
}
.d-inline-block > *:last-child{
  margin-right: 0;
}
.mt-n-spec1{
  margin-top: calc(-1.5rem - 1px);
}
.darken {
  mix-blend-mode: darken;
}
.min-2rem{
  min-height: 3em;
}
.overflow-hidden{
  overflow: hidden;
}
.overflow-hidden .bx-viewport{
  overflow: visible!important;
}
@media (min-width: 992px) {
  .padding-out-header{
    padding-top: calc(var(--gutter-x) * 2 + 60px + 1rem)!important;
  }
}
.form-modal{
  display: none;
}
.fancybox-content.form-modal{
  max-width: 500px;
}
.fancybox-content .input-field {
  margin-top: 0;
}
.fancybox-content .btn {
  margin-bottom: 0;
}
.fancybox-content{
  background-color: var(--color-white);
}
.fancybox-content .check-btn label {
  background-color: var(--color-white);
}
.check-btn{
  border-left: 1px solid var(--color-text-b2);
  border-right: 1px solid var(--color-text-b2);
  position: relative;
  float: left;
}
.check-btn + .check-btn{
  border-left: 0 none;
}
.check-btn input[type=radio],
.check-btn input[type=checkbox]{
  position:absolute;
  width:100%; height:100%;
  left:0; top:0;
  opacity: 0;
}
.check-btn label{
  color: var(--color-text-b);
  background: var(--color-sky);
  padding: 0 0.5rem;
  padding-top: 3px;
  display: inline-block;
  cursor: pointer;
  z-index: 1;
}
.check-btn input[type=radio] + label:before,
.check-btn input[type=checkbox] + label:before{
  content:'';
  position: absolute;
  z-index: -1;
  background-color: var(--color-gray);
  width:0;
  height:100%;
  top:0;
  left:auto;
  right:0;
  -webkit-transition: all 0.35s ease-in-out;
	-moz-transition: all 0.35s ease-in-out;
  transition: all 0.35s ease-in-out;
}
.check-btn input[type=radio]:hover + label:before,
.check-btn input[type=radio]:checked + label:before,
.check-btn input[type=checkbox]:hover + label:before,
.check-btn input[type=checkbox]:checked + label:before{
  width:100%;
  left:0;
  right:auto;
  background-color: var(--color-gray);
}
.check-btn input[type=radio]:hover + label,
.check-btn input[type=radio]:checked + label,
.check-btn input[type=checkbox]:hover + label,
.check-btn input[type=checkbox]:checked + label{
  color: var(--color-sky);
  position: relative;
  -webkit-transition: color 0.35s ease-in-out;
	-moz-transition: color 0.35s ease-in-out;
  transition: color 0.35s ease-in-out;
}
.filter .check-btn label{
  color: var(--color-light);
}
.filter .check-btn {
  border-color: var(--color-light);
}
/*--InputFile--*/
input[type=file], /* FF, IE7+, chrome (except button) */
input[type=file]::-webkit-file-upload-button { /* chromes and blink button */
    cursor: pointer;
}
.input-file {
	position: relative;
	display: inline-block;
  margin-bottom: 0.5em;
  cursor: pointer;
}
.input-file-btn {
	position: relative;
	display: inline-block;
	cursor: pointer;
	outline: none;
	text-decoration: none;
	font-size: 14px;
	vertical-align: middle;
	color: rgb(255 255 255);
	text-align: center;
	line-height: 3em;
	height: 3em;
  width: 3em;
	box-sizing: border-box;
	border: none;
	margin: 0;
  -webkit-transition: all 0.2s ease-in;
	-moz-transition: all 0.2s ease-in;
  transition: all 0.2s ease-in;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDIiIGhlaWdodD0iNDIiIHZpZXdCb3g9IjAgMCA0MiA0MiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yNi4xMDAyIDAuOTEzMjY3QzI2LjgxMzMgMC4yMDAxMzUgMjcuOTY5NSAwLjIwMDEzNSAyOC42ODI3IDAuOTEzMjY3TDM4LjgwNDUgMTEuMDM1MUMzOS41MTc2IDExLjc0ODIgMzkuNTE3NiAxMi45MDQ0IDM4LjgwNDUgMTMuNjE3NUwxNy4zNDggMzUuMDc0MUMxNy4wMDU1IDM1LjQxNjUgMTYuNTQxIDM1LjYwODkgMTYuMDU2NyAzNS42MDg5SDkuNTg3MDhDOC41Nzg1NiAzNS42MDg5IDcuNzYxIDM0Ljc5MTMgNy43NjEgMzMuNzgyOFYyNy4zMTMyQzcuNzYxIDI2LjgyODkgNy45NTMzOSAyNi4zNjQ0IDguMjk1ODUgMjYuMDIyTDI0LjAwNjcgMTAuMzExMUwyNS4yOTc5IDExLjYwMjRMOS41ODcwOCAyNy4zMTMyVjMzLjc4MjhMMTYuMDU2NyAzMy43ODI4TDM3LjUxMzIgMTIuMzI2M0wyNy4zOTE0IDIuMjA0NUw0LjU2NTM0IDI1LjAzMDZWMzguMzQ4SDE4Ljc5NThMMzUuNDE5NyAyMS43MjQyTDM2LjcxMSAyMy4wMTU0TDIwLjA4NzEgMzkuNjM5M0MxOS43NDQ2IDM5Ljk4MTcgMTkuMjgwMiA0MC4xNzQxIDE4Ljc5NTggNDAuMTc0MUg0LjU2NTM0QzMuNTU2ODIgNDAuMTc0MSAyLjczOTI2IDM5LjM1NjYgMi43MzkyNiAzOC4zNDhWMjUuMDMwNkMyLjczOTI2IDI0LjU0NjMgMi45MzE2NSAyNC4wODE4IDMuMjc0MTEgMjMuNzM5NEwyNi4xMDAyIDAuOTEzMjY3WiIgZmlsbD0iIzdCN0I3QiIvPgo8L3N2Zz4K");
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: auto 80%;
  opacity: 0.5;
  cursor: pointer;
}
.input-file-text {
  opacity: 0.6;
  font-size: 16px;
	padding: 0 1em;
  height: 3rem;
	line-height: 3rem;
	display: inline-block;
}
.input-file input[type=file] {
	position: absolute;
  z-index: 1;
  opacity: 0;
  display: block;
  font-size: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
  top: 0;
  left: 0;
}
/* Focus */
.input-file input[type=file]:focus + .input-file-btn {
	opacity: 0.75;
}
/* Hover/active */
.input-file:hover .input-file-btn {
	opacity: 0.75;
}
.input-file:active .input-file-btn {
	opacity: 0.75;
}
/* Disabled */
.input-file input[type=file]:disabled + .input-file-btn {
	opacity: 0.15;
}
.lh-1,
.lh1 {
  line-height: 1;
}
.lh-norm{
  line-height: 1.1em;
}
.font-correct{
    margin-bottom: -0.2rem;
}
.offset-header.relative{
  padding-top: calc(60px + 1rem)!important;
}

@media (max-width: 991.98px) {
  .mt-int-md{
    margin-top: initial!important;
  }
  .mb-int-md{
    margin-bottom: initial!important;
  }
  .ml-int-md{
    margin-left: initial!important;
  }
  .mr-int-md{
    margin-right: initial!important;
  }
  .my-int-md{
    margin-top: initial!important;
    margin-bottom: initial!important;
  }
  .mx-int-md{
    margin-left: initial!important;
    margin-right: initial!important;
  }
  .big_h2 {
    margin-top: 2rem;
    margin-bottom: 2rem;
  }
}
.text-right{
  text-align: right;
}
.text-left{
  text-align: left;
}
.text-center{
  text-align: center;
}
@media (min-width: 768px) {
  .text-sm-right{
    text-align: right;
  }
  .text-sm-left{
    text-align: left;
  }
  .text-sm-center{
    text-align: center;
  }
}
@media (min-width: 992px) {
  .text-md-right{
    text-align: right;
  }
  .text-md-left{
    text-align: left;
  }
  .text-md-center{
    text-align: center;
  }
}
@media (min-width: 1200px) {
  .text-xl-right{
    text-align: right;
  }
  .text-xl-left{
    text-align: left;
  }
  .text-xl-center{
    text-align: center;
  }
}
.filter-gray {
  filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale");
  /* Firefox 3.5+ */
  -webkit-filter: grayscale(100%) brightness(90%) contrast(120%);
  /* Chrome 19+ & Safari 6+ */
  filter: grayscale(100%) brightness(90%) contrast(120%);
}
.light {
  font-weight: 200;
}
.small{
  font-size: 80%;
}
.bg_primary a{
  color:var(--color-light);
}
.bg_primary a:hover{
  color:var(--color-gray)
}
footer a{
  color:var(--color-gray)!important;
  text-decoration: none!important;
}
footer a:hover{
  color:var(--color-light)!important;
}
footer p{
  margin-bottom: 0;
  margin-top: 0;
}
