@charset "UTF-8";* {
    box-sizing: border-box;
    outline:none;
}

body {
    font-family: sans-serif;
    font-size: 1em;
    line-height: 1.5;
}


p {
    margin: 0 0 1.5em;
}


h1, h2, h3, h4, h5, h6 {
}

h1 {
    font-size: 1.625em;
    line-height: 1.1;
    margin: 3.23076923em 0 0.92307692em;
}

h2 {
    font-size: 1.4375em;
    line-height: 1.2;
    margin: 3.13043478em 0 1.04347826em;
}

h3 {
    font-size: 1.25em;
    line-height: 1.3;
    margin: 3em 0 1.2em;
}

h4 {
    font-size: 1.125em;
    line-height: 1.4;
    margin: 2.66666667em 0 1.33333333em;
}

h5 {
    font-size: 1em;
    line-height: 1.5;
    margin: 2.25em 0 1.5em;
}

h6 {
    font-size: 0.75em;
    line-height: 2;
    margin: 2em 0 0;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}


h1:first-child, h2:first-child, h3:first-child, h4:first-child, h5:first-child, h6:first-child {
    margin-top: 0;
}

/* double headers */
h1+h2 {
    margin-top: 1.2em;
}

h2+h3 {
    margin-top: 1.3em;
}

h3+h4 {
    margin-top: 1.4em;
}

h4+h5 {
    margin-top: 1.5em;
}

h5+h6 {
    margin-top: 2em;
}


/* images */
img {
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
}

p img:not(:only-child) {
    vertical-align: baseline;
}

figure:not([class]) {
    margin: 3em 0;
}

figure:not([class])>p {
    max-width: 37.5rem;
    font-size: 0.75em;
    margin: 0.5em 0 0;
}

figcaption {
    max-width: 37.5rem;
    font-size: 0.75em;
    margin: 0.5em 0 3em;
}

figcaption>p {
    margin: 0.5em 0 0;
}

/* blockquotes */
blockquote {
    max-width: calc(45rem);
    margin: 0 0 1.5em;
    padding: 1.5em 2.5em;
}

blockquote>p:last-child {
    margin-bottom: 0;
}

blockquote>footer, blockquote>cite {
    display: block;
    font-size: 0.75em;
}

/* code */
pre {
    margin: 1.5em 0;
    white-space: pre-wrap;
}

p code {
    line-break: loose;
    overflow-wrap: break-word;
}

/* tables */
table:not([class]) {
    margin-top: 3em;
    margin-bottom: 3em;
    border-collapse: separate;
    border-spacing: 0;
}

table:not([class]) caption {
    text-align: left;
    font-size: 0.75em;
    margin-bottom: 0.625em;
}

table:not([class]) td, table:not([class]) th {
    padding: 0.5em 1em;
    text-align: left;
    vertical-align: top;
    border-style: solid;
    border-color: rgba(0, 0, 0, 0.1);
    border-width: 0 0 1px;
}

table:not([class]) thead td, table:not([class]) thead th {
    vertical-align: bottom;
    border-bottom-width: 2px;
}

/* definition lists */
dl:not([class]) {
    max-width: 50rem;
    margin: 0 0 1.5em;
}

dl:not([class]) dt:not([class]) {
    font-weight: bolder;
}

dl:not([class]) dd:not([class]) {
    margin: 0 0 1.5em;
}

/* other tags */
hr:not([class]) {
    border: 0;
    border-bottom: 1px solid;
    margin: 1.5em 0;
    max-width: 50rem;
    opacity: .1;
}

abbr {
    letter-spacing: .05em;
    margin-right: -0.05em;
}

strong, b, dt {
    font-weight: bolder;
}

code, kbd, pre, samp {
    font-family: monospace, monospace;
    font-size: 1em;
}

input[type="search"]::-webkit-search-cancel-button {
    display: none;
}

.subtitle1 {font-weight: 600; font-size: 18px; line-height: 28px;color: #050505;}
.body1 {font-weight: normal; font-size: 18px; line-height: 28px;color: #050505;}
.caption1 {font-size: 14px; line-height: 20px;color: #8F8F8F;}
.overline1 {font-weight: 600; font-size: 12px; line-height: 16px;text-transform: uppercase;color: #DC1646;}
.table-of-contents {list-style: none; padding-left: 0;margin-bottom: 60px;}
.table-of-contents > li {margin: 4px 0;}
.table-of-contents > li > a {font-size: 18px; line-height: 28px;color: #0057FF;text-decoration: none;}
.table-of-contents > li > a:hover {text-decoration: underline;}

.container {
  width: 100%;
  max-width: 1224px;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}

.container-fluid {
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto;
}

.row {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -15px;
    margin-left: -15px;
}

.col {
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -ms-flex-positive: 1;
    flex-grow: 1;
    min-width: 0;
    max-width: 100%;

    position: relative;
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
}

.no-gutters {
  margin-right: 0;
  margin-left: 0;
}

.no-gutters > .col,
.no-gutters > [class*="col-"] {
  padding-right: 0;
  padding-left: 0;
}


.hide {display: none;}

body {
    display: flex;
    min-height: 100vh;
    flex-direction: column;
}

body #content{
    display: flex;
}

aside#left-col, aside#right-col {
    flex: 0 0 20%;

}

aside#left-col {
    order: -1;
}

header {

}

footer {

}

nav {

}

main {
    width: 100%;
}

#content > div[class^="container"] {
    display: flex;
    flex: 1 0 0;
}

#totop {position: fixed; bottom: 20px; right: 20px; cursor: pointer;}

.tooltip {position: absolute; bottom: 20px; background: #FFF; padding: 10px; border: 1px solid #F97150; min-width: 200px; border-radius: 3px; left: 5px; color: #000; font-size: 14px; line-height: 130%; box-shadow: 0px 0px 23px rgba(16, 16, 16, 0.08);}

.pagination .counter {display: none;}
.pagination nav > ul {display: flex; list-style: none; margin: 0; padding: 0; justify-content: flex-end;padding-top: 10px;}
.pagination nav > ul > li > a, .pagination nav > ul > li > span { padding: 8px; cursor: pointer; background: rgba(249, 113, 80, 0.5); margin-left: 10px; color: #FFF; border-radius: 3px; min-width: 35px; height: 35px; display: flex; justify-content: center; align-items: center; font-size: 14px; font-weight: bold; transition: 0.3s;}
.pagination nav > ul > li.active > a, .pagination nav > ul > li.active > span {background: #FB623D;}
.pagination nav > ul > li > a:hover, .pagination nav > ul > li > a:focus, .pagination nav > ul > li > span:hover, .pagination nav > ul > li > span:focus {background: #FB623D;}
/* ------------------------------------------------------------ */

/* Стили для плиток через Joomla Custom Fields. Альтернативный макет для repeatable - "grid" Необходимо использовать в repeatable названия полей: content_block и content_image. Предполагается подключение parallax и fancybox  */
.desc-grid .grid-item.flex:nth-child(2n){ flex-direction: row-reverse; }
.desc-grid .grid-item-image {height: 300px; width: 50%; display: block;}
.desc-grid .grid-item-text {width: 50%;}

