@charset "utf-8";

/*** *** *** *** ***

    START.CSS 1.0
    Стили приоритетной загрузки
    
*** *** *** *** ***/

/*** БАЗОВЫЕ ПЕРЕМЕННЫЕ ***/
:root {
  --st: 4;        /* Step -               Шаг сетки */
  --sc: 1;        /* Scale -              Масштаб */
  
  --ext: 30;      /* External -           Внешняя ширина сайта */
  --ext--use: 22.35;
  --ext--use_: 27;
  --use: 17.5;    /* Useful -             Полезная ширина сайта */
  --cnt: 15;      /* Content -            Ширина контента на сайте */
  
  --fs: 1;        /* Font Size -          Соотношение размера шрифта к базовому, по умолчанию 1 (один к одному) */
  --h1_fs: 2.5;
  --h2_fs: 2.25;
  --h3_fs: 1.5;
  --h4_fs: 1.25;
  --h5_fs: 1;
  --h6_fs: 0.75;
  --lh: 1.5;      /* Line Height -        Базовая высота строки */
  /* Смещение макета Offset X/Y */
  --ofx: 0;
  --ofy: 0;
  /* Z-Index Base - базовая высота */
  --zib: 1;
  /* Z-Index Action - высота активного слоя */
  --zia: 10;
  --ff: 'Geologica-Regular', Arial, Helvetica, sans-serif, Verdana;
  /* Фон ссылки */
  --a_bg: #fff;
  /* Цвет ссылки */
  --a_cl: #1a73e8;
}

/* Для всех элементов */ 
*,*::before,*::after{
  box-sizing:border-box;
/*  transition: all var(--time, 0.15s) linear var(--defer, 0s); */
}
/* Для корневых элементов */ 
html.process_load-dom{ 
  min-width:320px;
  min-height:100vh;
  padding:0;
  margin:0;
  font-family: var(--ff);
  font-weight:normal;
  font-size:16px;
  line-height:1.5;
  flex-wrap:wrap;
  scroll-behavior:smooth;
}
body{
  display:flex;
  flex-direction:column;
  min-width:320px;
  width:100%;
  min-height:100vh;
  align-items:center;
  padding:0;
  margin:0;
  scroll-behavior:smooth;
  text-rendering:optimizeSpeed;
  overflow-y:scroll;
  transition:none;
}

/*** СТАРТОВЫЕ СТИЛИ ***/
.root,.header,.footer,
.all,.ext,.ext--use,.ext--use_,.use,.cnt,
.row,.col,.grow,.frow,.scroll,.scroll>*,.modal,
/*[style*="--cw:"],[class*="_"],[class="--"],*/
[style*="--cw:"],.flexmodel,
.nav,.close,[class*="__close"],.modal__content,.dialog_visible,.cookies__text,.cookies__row,.button,[class^="i-"],[class^="i-"]>use{
  --um: calc(1rem * var(--sc, 1));
  --mnw_: calc((var(--sw, var(--mnw)) * var(--st)) * var(--um));
  --w_: calc((var(--sw, var(--w)) * var(--st)) * var(--um));
  --mxw_: calc((var(--sw, var(--mxw)) * var(--st)) * var(--um));
  --mnh_: calc((var(--sh, var(--mnh)) * var(--st)) * var(--um));
  --h_: calc((var(--sh, var(--h)) * var(--st)) * var(--um));
  --mxh_: calc((var(--sh, var(--mxh)) * var(--st)) * var(--um));
  --gp: 0;--rgp: var(--gp);--cgp: var(--gp);
  --gp_: calc(var(--rgp, var(--gp, 0)) * var(--um)) calc(var(--cgp, var(--gp, 0)) * var(--um));
  --pb: 0;--pbs: var(--pb);--pbe: var(--pb);
  --pb_: calc(var(--pbs, var(--pb, 0)) * var(--um)) calc(var(--pbe, var(--pb, 0)) * var(--um));
  --pi: 0;--pis: var(--pi);--pie: var(--pi);
  --pi_: calc(var(--pis, var(--pi, 0)) * var(--um)) calc(var(--pie, var(--pi, 0)) * var(--um));
  --mb: 0;--mbs: var(--mb);--mbe: var(--mb);
  --mb_: calc(var(--mbs, var(--mb, 0)) * var(--um)) calc(var(--mbe, var(--mb, 0)) * var(--um));
  --mi: 0;--mis: var(--mi);--mie: var(--mi);
  --mi_: calc(var(--mis, var(--mi, 0)) * var(--um)) calc(var(--mie, var(--mi, 0)) * var(--um));
  
  display: flex;
  flex: 0 1 auto;
  flex-direction: var(--fd, row);
  justify-content: var(--jc, flex-start);
  justify-items: var(--ji, legacy);
  justify-self: var(--js, auto);
  align-content: var(--ac, normal);
  align-items: var(--ai, stretch);
  align-self: var(--as, auto);
  flex-wrap: var(--fw,nowrap);
  overflow: var(--of,visible);
  
  --sw_: var(--sw__);
  min-width: var(--sw_,var(--mnw_, 0));
  width: var(--sw_,var(--w_, auto));
  max-width: var(--sw_,var(--mxw_, none));
  --sh_: var(--sh__);
  min-height: var(--sh_,var(--mnh_, 0));
  height: var(--sh_,var(--h_, auto));
  max-height: var(--sh_,var(--mxh_, none));
  
  gap: var(--gp_, 0);
  padding-block: var(--pb_, 0);
  padding-inline: var(--pi_, 0);
  margin-block: var(--mb_, 0);
  margin-inline: var(--mi_, 0);
  
  font-size: calc(var(--fs) * var(--um));
  line-height: calc(var(--lh,1.5));
  text-align: var(--ta, left);
}
/* Для медиа */
img[class*="__"],picture[class*="__"],video[class*="__"],object[class*="__"],[class^="i-"],
img,picture,video,object,svg{
  display:inline-block;
  max-width:100%;
  height:auto;
  object-fit:contain;
  object-position: center center;
}

/*** ТИПОГРАФИКА ***/
/* Заголовки H[1-6] */
[class*="_h1"],h1{--fs: var(--h1_fs);--lh:1.1;}
[class*="_h2"],h2{--fs: var(--h2_fs);--lh:1.2;}
[class*="_h3"],h3{--fs: var(--h3_fs);--lh:1.3;}
[class*="_h4"],h4{--fs: var(--h4_fs);--lh:1.4;}
[class*="_h5"],h5{--fs: var(--h5_fs);--lh:1.5;}
[class*="_h6"],h6{--fs: var(--h6_fs);text-transform:uppercase;letter-spacing:1px;opacity:0.9;}
h1,h2,h3,h4,h5,h6{width:100%;max-width:100%;font-size:calc(var(--fs) * var(--um));font-family:var(--ff,inherit);line-height:var(--lh,1.3);margin-top:2em;margin-bottom:1.5em;}
h1:first-child,h2:first-child,h3:first-child,h4:first-child,h5:first-child,h6:first-child{margin-block: 0 var(--mbe_,1.5em);}
h1:only-child,h2:only-child{--mbe:0;}
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}
@media (max-width:52rem){h1,h2{--jc:center;/*--ac:center;--ta:center;*/}}

/* P UL OL */
p{margin:0 0 1.5em;width:100%;max-width:50em;font-size:1rem;line-height:1.5 !important;}
table tr td p:last-child {margin-bottom:0;}
.content tbody tr {
	line-height: 1.5 !important;
}
ol:not([class]),ul:not([class]){width:100%;max-width:50em;margin:0 0 1.5em;padding-left:0;padding-right:1.5em}
ol li:not([class]),ul li:not([class]){transform:translateX(1.5em);line-height:1.5;}
ol[class],ul[class] {list-style:none;margin:0;padding:0;}
p{max-width: 100%;display:inline-block;word-wrap:break-word;}
ol li,ul li{max-width: 100%;display: list-item;word-wrap:break-word;}
ul:not([class]):before,
ol:not([class]):before,
p:not([class]):before{content:'';display:block;width:10em;overflow:hidden}

@media (max-width:52rem){
  h1,h2,h3,h4,h5,h6{display:inline-block;word-wrap:break-word;}
}
p:empty,li:empty {display: none;}

/* Table */
table {width: 100%;margin-top:3em;margin-bottom:3em;border-collapse:collapse;}
table caption{text-align:left;font-size:.75em;margin-bottom:.625em}
table thead th,table thead td{vertical-align:bottom;}
table:not([cellpadding]) th,table:not([cellpadding]) td {padding:0.5rem 0.5rem;}
table th,table td {border:solid #ccc 1px;}
table[border="0"],table[border="0"] td {border:0;}

/* A / Button */
a,summary {cursor:pointer;text-decoration:none;}
a:not([class]):not(:has([src])){position: relative;padding-block-end:0.1rem;background-color:var(--a_bg,inherit);color:var(--a_cl,inherit);text-decoration: none;text-decoration-skip-ink:auto;}
a:not([class]):not(:has([src]))::after{
  content: '';
  width: 100%;
  height: 0;
  border-bottom: 1px solid var(--a_cl);
  position:absolute;
  bottom: 0;
  left: 0;
}
button{cursor:pointer;border:0;}

/* Other */
iframe{width: 100%;height:auto;aspect-ratio: 16/9;border:0;}
blockquote{margin:0 0 1.5em;max-width:45rem;padding:1.5em 2.5em}
hr:not([class]){width: 100%;margin:1.5em 0;opacity:.1;}
abbr{margin-right:-.05em}
code, kbd, pre, samp{font-family:monospace,monospace;font-size:1em}

/* Базовая ширина Base Width */ 
.ext{--mxw: var(--ext);}
.ext--use{--mxw: var(--ext--use);}
.ext--use_{--mxw: var(--ext--use_);}
.use{--mxw: var(--use);}
.cnt{--mxw: var(--cnt);}
.all,.ext,.ext--use,.ext--use_.use,.cnt{
  --fd: column;
  --w_: calc(var(--mxw_) - (var(--mi, 0) * 2) * var(--um));
  --jc: center;
  --fw: wrap;
}
.grow>*,.frow>*{
  display: flex;
  --fd: column;
  --ac: center;
  --ai: center;
}
.frow>*{
  flex: 1;
}
.grow{
  display: grid;
  grid-template-columns: var(--gtc, repeat(auto-fill, minmax(10rem, 1fr)));
  --w_: 100%;
  --jc: center;
  --ac: center;
  --ai: stretch;
}
.frow{
  display: flex;
  --w_: 100%;
  --fd: row;
  --jc: center;
  --ac: center;
  --ai: stretch;
}
.row>*{
  display: flex;
  flex: 0 0 auto;
  --fd: column;
  --ac: center;
  --ai: center;
}
.row{
  display: flex;
  --w_: auto;
  --fd: row;
  --jc: center;
  --ac: center;
  --ai: center;
}
.col{
  display: flex;
  --w_: auto;
  --fw: nowrap;
  --fd: column;
  --jc: center;
  --ac: center;
  --ai: center;
}
.scroll{
  --mxw_: 100vw;
  --jc: start;
  --ac: start;
  --ai: start;
  --fw: nowrap;
  --of: auto;
}
table.scroll{
  display: block;
  width: 100%;
  min-width: 100%;
  max-width: 100%;
  overflow: auto;
}
.scroll>*{
  --jc: start;
  --pis: 0;
  --pie: 0;
  --of: visible;
}

.button{
  --jc: center;
  --ac: center;
  --ai: center;
}

dl{
  display: grid;
  grid-template-columns: 15.5rem auto;
  row-gap: 3.25rem;
}
dt{
  width: 15.5rem;
}
dd{
  width: auto;
  padding-right: 1.5rem;
}

/*** АДАПТАЦИЯ БЛОКОВ ***/
.all{--mxw_: 100%;}
.frow{
  --wgp: var(--cgp);
}
.frow [style*="--cw:"]{
  --fw: nowrap;
  --um: calc(1rem * var(--sc, 1));
  --wgp_: calc(var(--wgp, 0rem) * var(--um));
  --wgp__: calc(var(--wgp_) - (var(--wgp_) * var(--cw)));
  flex: 1 1 calc(100% * var(--cw) - var(--wgp__, 0rem));
}
@media all and (max-width:120rem){
  .all.frow [style*="--cw:"]{
    --mnw_: min(calc((var(--ext) * var(--st)) * var(--cw) * var(--um)), 100%);
    flex: 1 1 auto;
    /*--mxw_: 100%;*/
  }
  .ext {--mxw_: 100%;}
}  
@media all and (max-width:80rem){
  .ext.frow [style*="--cw:"]{
    --mnw_: min(calc((var(--ext) * var(--st)) * var(--cw) * var(--um)), 100%);
    flex: 1 1 auto;
    /*--mxw_: 100%;*/
  }
  .use {--mxw_: 100%;}
}
@media all and (max-width:60rem){
  .use.frow [style*="--cw:"]{
    --mnw_: min(calc((var(--use) * var(--st)) * var(--cw) * var(--um)), 100%);
    flex: 1 1 auto;
    /*--mxw_: 100%;*/
  }
  .cnt {--mxw_: 100%;}
}
@media all and (max-width:40rem){
  .all.frow,.ext.grow{
    --fd: column;
  }
  .all.frow>*:not([class]),.ext.grow>*:not([class]){
    --sw_: 100%;
  }
  .cnt.frow>*{
    --mnw_: min(calc((var(--cnt) * var(--st)) * var(--cw) * var(--um)), 100%);
    /*--mxw_: 100%;*/
  }
}
@media all and (max-width:320px){
  .use.frow,.cnt.grow{
    --fd: column;
  }
  .use.frow>*:not([class]),.cnt.grow>*:not([class]){
    --sw_: 100%;
  }
}
.root,.header,.footer{
  --fd: column;
  --w_: 100%;
  --ac: center;
  --ai: center;
}
.modal{
  position: relative;
  --fd: column;
  --fw: nowrap;
  overflow: auto;
  background: #fff;
  box-shadow: 0.5rem 0.5rem 2rem rgba(0,0,0,0.5);
}
.close{
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  --sw: 1;
  --sh: 1;
}
.i-close{
  --sw: 0.5;
  --sh: 0.5;
  stroke: #000;		
}
/* details[class*="__"]{
	height: auto;
	max-height: 1.5rem;
  --js: flex-start;
  overflow: hidden;
  --time: 0.5s;
  --defer: 0.5s;
}
details[class*="__"][open]{
	max-height: 100%;
  --time: 0.5s;
  --defer: 0.5s;
} */
style, script {
  display: none !important;
  visibility: hidden !important;
}
[hidden],[class*="hidden"] {
  display: none;
  visibility: hidden;
}

/*** ACTION / STATES ***/
*:focus {
  outline: 0.15rem solid rgb(0, 0, 0, 0.1);
  outline-offset: -0.15rem;
  border-radius: 0.25rem;
  z-index: calc(var(--zia) + 1);
}
/*@media (hover: hover) {html.action_scroll-stop body{margin-right: 17px;}}*/
html.action_scroll-stop body{overflow:hidden;}
dialog{
  position: fixed;
  top: -100%;
  display: none;
  /*visibility: hidden;*/
  justify-self: center;
	align-self: center;
  background: none;
  border: none;
  /*opacity: 0;*/
}
.component.component_show{
  opacity: 1;
  z-index: var(--zia);
  display: flex;
  visibility: visible;
}
dialog.component.component_show{
  position: fixed;
  top: 0;
  overflow: auto;
}
.backdrop_button{
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  --sw_: max(100vw, 100%);
	--sh_: max(100vh, 100%);
  background: none;
  z-index: -1;
  opacity: 0;
}
.backdrop_background{
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
	outline-color: rgba(0,0,0,0.15);
	outline-offset: 0;
	outline-width: 0;
	border-top-left-radius: 0;
	border-top-right-radius: 0;
  backdrop-filter: blur(0.15rem);
  background: rgba(0,0,0,0.20);
  opacity: 0.5;
}
/*[data-tmp="company"] .backdrop_background{
  backdrop-filter: blur(2rem);
  background: rgba(255, 255, 255, 0.25);
}*/
/*.action_backdrop .backdrop_button.backdrop_background{
  opacity: 0.5;
}*/

dialog::backdrop {
  display: none !important;
  visibility: hidden !important;
  background: none !important;
  opacity: 0 !important;
}
.scrollview {
	position: relative;
	top: calc(0px - var(--ofy) - 10vh);
}










