/**
 *  Файл:    templates\<макет>\css\default.css
 *  Раздел:  CSS-стили, действующие по умолчанию
 *  Автор:   BVP
 */

/* Стили общего назначения
 -------------------------------------------------------- */

.clearfix:before,
.clearfix:after,
.bvp-container:before,
.bvp-container:after,
.bvp-row:before,
.bvp-row:after {
    float:   none;
    clear:   both;
    content: "";
    display: table;
}


/* Стили всего сайта по умолчанию (основные элементы)
 -------------------------------------------------------- */

*,
*:before,
*:after,
*::before, 
*::after {
    margin:  0;
    padding: 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing:    border-box;
    box-sizing:         border-box;
}
html {
    -ms-text-size-adjust:     100%;
    -webkit-text-size-adjust: 100%;
}
body {
    font-size:   16px;
    line-height: 1.4em;
    font-weight: 400;
    font-style:  normal;
}
h1 {
    margin:      0 0 .6em;
    font-size:   4em;
    line-height: 1.2em;
    font-weight: normal;
}
h2 {
    margin:      1em 0 .5em;
    font-size:   2.2em;
    line-height: 1.2em;
    font-weight: normal;
}
li {
    list-style: none;
}
ul.list-text,
ol.list-text {
    margin: 0 0 1.4em;
}
ul.list-text > li {
    text-indent:  -2.6em;
    padding-left:  2.6em;
    margin-bottom: .5em;
}
ul.list-text-2 {
    padding-top: .4em;
}
ul.list-text-2 > li {
    padding-left: 2.5em;
}
ul.list-text > li:before {
    content:     "\2022";
    padding:     .55em .9em 0;
    font-size:   1.2em;
    line-height: 1px;
}
ol.list-text {
    padding-left: 1.5em;
}
ol.list-text > li {
    list-style:    decimal outside;
    margin-bottom: .5em;
    padding-left:  .5em;
}
i {
    font-style: normal;
}
p {
    margin-bottom: 1.4em;
}
button, input, optgroup, select, textarea {
    color:       inherit;
    font:        inherit;
    line-height: inherit;
    margin:      0;
}

@media (max-width: 800px) 
{
    body {
        font-size: 15.5px;
    }
    h2 {
        font-size: 2.1em;
    }
}

@media (max-width: 600px) 
{
    body {
        font-size: 15px;
    }
    h2 {
        font-size: 2em;
    }
}

@media (max-width: 359px) 
{
    body {
        font-size: 14.5px;
    }
    h2 {
        font-size: 1.8em;
    }
}


/* Ссылки
 -------------------------------------------------------------- */

/*  Стандартная ссылка в тексте:
     -  подчеркивание
     -  выделяется цветом
     -  под курсором цвет меняется
 */
a {
    background-color: transparent;
    text-decoration:  underline;
}
a:active,
a:hover {
    outline: 0;
}

/*  Ссылка без подчеркивания (для меню, шапки, подвала):
     -  цветом не выделяется
     -  под курсором - подчеркивание
 */
.a-menu,
.a-menu-child a {
    text-decoration: none;
}
.a-menu:hover,
.a-menu:active {
    text-decoration: underline !important;
}

/*  Анимация ссылки */
a,
.a-link,
.icon-link {
    -webkit-transition:       all 0.2s ease-in-out;
    -webkit-transition-delay: 0s;
    -moz-transition:          all 0.2s ease-in-out 0s;
    -o-transition:            all 0.2s ease-in-out 0s;
    transition:               all 0.2s ease-in-out 0s;
}

/*  Названия шрифтов
 -------------------------------------------------------- */

.f-default,
.f-serif {
    font-family: 'IBM Plex Serif', serif;
}
.f-sans {
    font-family: 'IBM Plex Sans', sans-serif;
}
.f-bold {
    font-weight: bold;
}


/* Стили компоновки шаблона
   Особенности:
    - страница на всю ширину экрана
    - по бокам блоков с данными - отступ в процентах от ширины
    - фиксированный верх, включающий заголовок и шапку
 -------------------------------------------------------- */
 
#div-body {
   width:   100%;       /*  Страница по ширине фона шапки */
   margin:  0 auto;     /*  Центруем страницу на случай, если она будет уже экрана */
   padding: 0;
}

/*  Размеры и отступы всех позиций шаблона: на всю ширину  отступом */
.top-modules,
.header-modules,
.copyright-modules,
.showcase-modules {
   width: 100%;
}

/*  Cтраница со статьей по умолчанию - на всю ширину */
.content-modules {
   margin: 0 auto;
}

.content-modules .system-messages.content-narrow {
   padding:  0;
   overflow: hidden;
}
.content-modules #system-message {
   margin: 1% 0;
}
.content-modules #system-message > div {
   padding: 1% 0;
   border-top:    solid .1em;
   border-bottom: solid .1em;
}
.page-wrapper > .container {
    padding: 0;
}
.bvp-container {
    max-width: 1200px;
    margin:    0 auto;
}
.bvp-row {
    margin-left:  -15px;
    margin-right: -15px;
    padding-left:  15px;
    padding-right: 15px;
}
.bvp-row > div {
    position:   relative;
    display:    block;
    float:      left;
    min-height: 1px;
    padding-right: 30px;
}
.bvp-row > div:last-of-type {
    padding-right: 0;
}
.bvp-hr {
    display: block;
    width:   100%;
    height:  1px;
    margin:  2.3334% 1.6667%;
    opacity: .2;
    filter:  alpha(opacity=20);
    background-color: #000;
}


/*  Замена стандартного "checkbox"
 -------------------------------------------------------- */
 
input[type="checkbox"].customized {
   display: none;
   margin: 0;
}
input[type="checkbox"].customized + label {
   display:        inline-block;
   height:         16px;
   margin-top:     5px;
   vertical-align: middle;
}
input[type="checkbox"].grey + label:before,
input[type="checkbox"].grey + label:hover:before,
input[type="checkbox"].grey:checked + label:before,
input[type="checkbox"].grey:checked + label:hover:before {
   content: "";
   display: block;
   float:   left;
   width:   16px;
   height:  16px;
   margin:  2px 10px 0 0;
}

 
/*  Кнопка "Наверх"
 -------------------------------------------------------- */
#cd-top {  
    display:       inline-block;  
    height:        44px;  
    width:         44px;  
    position:      fixed;  
    bottom:        64px;  
    right:         10px;  
    overflow:      hidden;  
    white-space:   nowrap;  
    border-radius: 100%; 
    z-index:       10000;
    visibility:    hidden; 
    opacity:       0; 
    -webkit-transition: opacity .3s 0s, visibility 0s .3s;  
    -moz-transition:    opacity .3s 0s, visibility 0s .3s;  
    transition:         opacity .3s 0s, visibility 0s .3s;  
}
#cd-top svg {
    width:  18px;
    margin: 17px 0 0 13px;
}
#cd-top.cd-is-visible, 
#cd-top.cd-fade-out {  
    -webkit-transition: opacity .3s 0s, visibility 0s 0s;  
    -moz-transition:    opacity .3s 0s, visibility 0s 0s;  
    transition:         opacity .3s 0s, visibility 0s 0s;
}
#cd-top.cd-is-visible {
    visibility: visible;  
    opacity:    0.4;
}
#cd-top:hover {  
    opacity: .8;
}


@media (min-width: 768px)
{
    .clearfix:after,
    .bvp-container:after,
    .bvp-row:after {
        clear: both;
    }
}

@media (min-width: 1230px)
{
    .bvp-container {
        width: 1200px;
    }
}

@media (max-width: 1230px)
{
    .bvp-container {
        width:   100%;
        padding: 0 15px;
    }
}

 
/* Вспомогательные стили
 -------------------------------------------------------- */

p.empty-line {
   line-height: .6em;
   margin: 0;
}
.align-left {
   text-align: left;
}
.align-right {
   text-align: right;
}
.align-center {
   text-align: center;
}
p.line-delim {
   line-height: 1px !important;
   margin:      5% 0 0;
   padding:     0 0 5%;
   border-top:  solid 1px #181716;
}
.line-delim.line-dotted {
   border-top-style: dotted;
}
.line-delim.line-25 {
   margin-top:     25px;
   padding-bottom: 25px;
}
/* иммитация ссыылки, но без подчеркивания */
.a-link,
.icon-link {   
    cursor: pointer;
}
/*
.border-dashed {
   border-style: dashed;
}
.border-bold {
   border-width: 2px;
   font-size:    15px;
}
*/
/* ссылки, подчеркнутые пунктиром */
/*
a.link-dashed {   
   text-decoration: none;
   padding-bottom:  2px;
}
   a.link-dashed span {
      border-bottom: dashed 1px #ccd8dc;
   }
*/
/* ячейка с центровкой по вертикали */
/*
.vcell {    
   display: table;
   height:  100%;
}
   .vcell > * {
      display: table-cell;
      vertical-align: middle;
   }
*/
/* список со ссылками без маркера */
/*
.list-links {     
   width:      100%;
   margin:     0;
   list-style: none;
}
.list-links li {
   float:  left;
   margin: 0;
}
*/
/* список с небольшим отступом снизу */
/*
.list-min-bottom li {   
    margin-bottom: 0.25em;
}
*/


/* Форма
 -------------------------------------------------------- */

/*
.form p {
    margin:      0;
    padding:     0;
    font-size:   20px;
    font-weight: 300;
    line-height: 27px;
}
.form p#subscribe_success {
    margin-top: 65px;
    text-align: center;
}
.input {
    position: relative;
    display:  inline-block;
    width:    100%;
    z-index:  1;
    margin:   0 0 9px;
    line-height:    normal;
    vertical-align: top;
}
*/
.button,
button,
input[type="reset"],
input[type="submit"] {
    cursor: pointer;
    -webkit-appearance: button;
    -webkit-transition:       all 0.2s ease-in-out;
    -webkit-transition-delay: 0s;
    -moz-transition:          all 0.2s ease-in-out 0s;
    -o-transition:            all 0.2s ease-in-out 0s;
    transition:               all 0.2s ease-in-out 0s;
}
button[disabled] {
    cursor: default;
}
button::-moz-focus-inner,
input::-moz-focus-inner {
    border:  0;
    padding: 0;
}

/* Страница ошибки
 -------------------------------------------------------- */

.content .bvp-container.error-page h1 {
    margin-top: 5%;
}
.content .bvp-container.error-page .err-msg {
    font-size:     1.2em;
    margin-bottom: 5%;
}
.content .bvp-container.error-page .err-msg span {
    font-size:   1.1em;
    font-weight: bold;
}

/* "Подложка" для модального окна
 -------------------------------------------------------- */

#overlay {
    z-index:  1103;
    position: fixed;
    opacity:  0.8;
    width:    100%;
    height:   100%;
    top:      0;
    left:     0;
    cursor:   default;
    display:  none;
    background-color: rgba(0, 0, 0, 0.5);
}