:root { 
    --deep-color: #383C46;
    --light-color: #aaaab4;
}
html { 
    scroll-behavior: smooth; 
}
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,
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,
button,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    font-family: "Inter", sans-serif;
    letter-spacing: -0.02em;
    vertical-align: baseline;
}
blockquote,
q {
    quotes: none;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
    content: "";
    content: none;
}
table {
    border-spacing: 0;
    border-collapse: collapse;
}
img {
    display: block;
    max-width: 100%;
    height: auto;
}
html {
    box-sizing: border-box;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
}
*,
*:before,
*:after {
    box-sizing: inherit;
}
a {
    color: inherit;
    background-color: transparent;
}
a:active,
a:hover {
    outline: 0;
}
b,
strong {
    font-weight: bold;
}
i,
em,
dfn {
    font-style: italic;
}
#cookie_note {
    display: none;
    position: fixed;
    bottom: 40px;
    right: 40px;
    width: 20vw;
    min-width: 200px;
    background-color: #eee;
    padding: 10px 20px 20px 20px;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
    z-index: 999;
}
#cookie_note p {
    font-size: 14px;
    color: #777;
}
#cookie_note.show {
    display: block;
}
button,
input.button {
    cursor: pointer;
    height: 40px;
    font-size: 16px;
    font-weight: 400;
    line-height: 1;
    padding: 0 15px;
    color: #fff;
    border-bottom: unset;
    border-radius: 20px;
    background-color: var(--ghost-accent-color);
    transition: 0.2s ease-in-out;
}
button.wide {
    width: 100%;
}
button:hover,
input.button:hover {
    background-color: var(--deep-color);
}
button.small {
    height: 30px;
    font-size: 14px;
    border-radius: 15px;
}
button.accent-white:hover {
    color: var(--ghost-accent-color);
    background-color: #fff;
}
button.deep-white {
    background-color: var(--deep-color);
}
button.deep-white:hover {
    color: var(--ghost-accent-color);
    background-color: #fff;
}
button.white-accent {
    color: var(--ghost-accent-color);
    background-color: #fff;
}
button.white-accent:hover {
    color: #fff;
    background-color: var(--ghost-accent-color);
}
::selection { 
    color: white; 
    background-color: var(--ghost-accent-color); 
}
main {
    min-height: 100vh;
    margin-bottom: 360px;
    background-color: #e2e2e2;
    border-bottom: var(--ghost-accent-color) solid 5px;
    box-shadow: rgba(0, 0, 0, 0.3) 0 20px 20px;
}
p, ul li, ol li {
    font-size: 16px;
    color: #111;
    padding: 0.5em 0;
    line-height: 1.3;
}
#lockscreen {
    visibility: hidden;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(226,226,226,0.3);
    backdrop-filter: blur(6px);
    opacity: 0;
    transition: 0.2s ease-in-out;
    z-index: 9999;
}
#lockscreen.show {
    visibility: visible;
    opacity: 1;
}
#lockscreen .form {
    margin-top: 20px;
    min-height: 320px;
}
#lockscreen p {
    font-size: 14px;
    color: #777;
}
main h1 {
    font-size: 72px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: -.05em;
    padding-bottom: 20px;
    color: var(--deep-color);
}
main h1.small {
    font-size: 48px;
}
main h1.extra {
    font-size: 100px;
}
main h2 {
    padding: 10px 0;
    font-size: 36px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -.02em;
    color: var(--deep-color);
}
main h3 {
    padding: 10px 0 0 0;
    font-size: 24px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -.02em;
    color: var(--deep-color);
}
main h3.underline {
    border-bottom: var(--deep-color) solid 2px;
}
main h4 {
    font-size: 18px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -.02em;
    color: var(--deep-color);
}
main h2 strong,
main h3 strong,
main h4 strong {
    font-weight: 800;
}
main h2 a,
main h3 a,
main h4 a {
    text-decoration: none;
    transition: 0.2s ease-in-out;
}
main h2 a:hover,
main h3 a:hover,
main h4 a:hover {
    color: var(--ghost-accent-color);
}
main span {
    line-height: inherit;
    letter-spacing: inherit;
}
main hr {
    border: none;
    border-bottom: var(--deep-color) solid 2px;
    margin: 40px 0;
    padding: 0;
}
main blockquote {
    margin: 20px 0;
    padding: 10px 20px;
    border-left: var(--ghost-accent-color) solid 2px;
    font-size: 24px;
    font-weight: 300;
    color: var(--deep-color);
}
main table {
    width: 100%;
    border: var(--light-color) solid 1px;
}
main tr {
    border-bottom: var(--light-color) solid 1px;
}
main tr:last-child {
    border-bottom: none;
}
main tr td {
    padding: 10px 2px;
    border-left: var(--light-color) solid 1px;
}
main tr td:last-child {
    border-right: var(--light-color) solid 1px;
}
input {
    width: 100%;
    background: none;
    border: none;
    outline: none;
    border-bottom: #111 solid 2px;
    font-size: 20px;
    font-weight: 400;
    margin: 5px 0 20px 0;
}
input::placeholder {
    color: rgba(0, 0, 0, 0.3);
}
main p.small {
    font-size: 14px;
}
main p.tags {
    margin: 20px 0 0 0;
}
main p.tags a {
    font-size: 12px;
    font-weight: 400;
    letter-spacing: -0.02em;
    line-height: 2.2;
    margin: 0;
    padding: 4px 10px;
    border-radius: 20px;
    background: #fff;
    text-transform: uppercase;
    text-decoration: none;
    white-space: nowrap;
    transition: 0.2s ease-in-out;
}
main p.tags a.tag-active,
main p.tags a:hover {
    color: #fff;
    background: var(--ghost-accent-color);
}
main p.tags-small {
    font-size: 14px;
    color: #555;
}
main p.tags-small a {
    transition: 0.2s ease-in-out;
}
main p.tags-small a:hover {
    color: var(--ghost-accent-color);
}
main p.date,
main p.read {
    font-size: 14px;
    color: #555;
}
aside p {
    font-size: 14px;
    color: #111;
    padding: 0.5em 0;
}
.medium {
    font-weight: 400;
}
.light {
    font-weight: 300;
}
.light-block {
    padding: 20px;
    color: var(--deep-color);
    background-color: var(--light-color);
}
.accent {
    color: var(--ghost-accent-color);
}
.accent-block {
    padding: 20px;
    color: #fff;
    background-color: var(--ghost-accent-color);
}
.deep {
    color: var(--deep-color);
}
.black {
    color: #111;
}
.deep-block {
    padding: 20px;
    color: #fff;
    background-color: var(--deep-color);
}
.white {
    color: #fff;
}
.multiply {
    mix-blend-mode: multiply;
}
.list {
    padding: 10px 0;
    border-bottom: var(--light-color) dotted 2px;
}
a.link {
    text-decoration: underline;
    transition: 0.2s ease-in-out;
}
a:hover.link {
    color: var(--ghost-accent-color);
}
main ul,
main ol {
    padding: 0 0 0 2.5em;
}
main ul li,
main ol li {
    padding: 0.3em 0;
}
.container {
    min-width: 320px;
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 40px;
    position: relative;
}
.animate {
    opacity: 0;
    transform: translateY(50px);
    transition: transform 0.4s, opacity 0.4s;
}

@media screen and (max-width: 1199px) {
    main h1 {
        font-size: 60px;
    }
    main h2 {
        font-size: 28px;
    }
    main h3 {
        font-size: 20px;
    }
    main h4 {
        font-size: 18px;
    }
}
@media screen and (max-width: 959px) {
    .container {
        padding-left: 30px;
        padding-right: 30px;
    }
    main h1 {
        font-size: 54px;
    }
    main h1.small {
        font-size: 40px;
    }
    main hr {
        margin: 10px 0;
    }
    main hr:first-child {
        margin-top: 40px;
    }
}
@media screen and (max-width: 639px) {
    .container {
        padding-left: 20px;
        padding-right: 20px;
    }
    main h1 {
        font-size: 48px;
    }
    main h1.small {
        font-size: 36px;
    }
    main h2 {
        font-size: 24px;
    }
}


/* ***********************************************************************************/
/* PAGE ******************************************************************************/
/* ***********************************************************************************/

.content-page {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    column-gap: 20px;
    row-gap: 20px;
    padding-top: 70px;
    padding-bottom: 40px;
    grid-template-areas: 
        "hr-1       hr-1        hr-1        hr-1        hr-1        hr-1    "
        ".          title       title       title       title       .       "
        "hr-2       hr-2        hr-2        hr-2        hr-2        hr-2    "
        ".          content     content     content     aside       .       "
        ".          pagination  pagination  pagination  .           .       ";
}
.content-page .hr-1 {
    grid-area: hr-1;
}
.content-page .hr-2 {
    grid-area: hr-2;
}
.content-page .title {
    grid-area: title;
}
.content-page .content {
    grid-area: content;
}
.content-page aside {
    grid-area: aside;
}
.content-page .pagination {
    grid-area: pagination;
}
@media screen and (max-width: 1199px) {
    .content-page {
        grid-template-areas: 
            "hr-1       hr-1        hr-1        hr-1        hr-1        hr-1    "
            "title      title       title       title       title       title   "
            "hr-2       hr-2        hr-2        hr-2        hr-2        hr-2    "
            "content    content     content     content     aside       aside   "
            "pagination pagination  pagination  pagination  aside       aside   ";
    }
}
@media screen and (max-width: 639px) {
    .content-page {
        grid-template-areas: 
            "hr-1       hr-1        hr-1        hr-1        hr-1        hr-1        "
            "title      title       title       title       title       title       "
            "hr-2       hr-2        hr-2        hr-2        hr-2        hr-2        "
            "content    content     content     content     content     content     "
            "pagination pagination  pagination  pagination  pagination  pagination  "
            "aside      aside       aside       aside       aside       aside       ";
    }
    aside.unimportant {
        display: none;
    }
}

/* ***********************************************************************************/
/* PAGE OUTSORSING *******************************************************************/
/* ***********************************************************************************/

.content-outsorsing {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    column-gap: 20px;
    row-gap: 20px;
    padding-top: 70px;
    padding-bottom: 40px;
    grid-template-areas: 
        "hr-1       hr-1        hr-1        hr-1        hr-1        hr-1    "
        ".          title       title       title       title       .       "
        "hr-2       hr-2        hr-2        hr-2        hr-2        hr-2    "
        "image      image       image       image       image       image   "
        ".          text        text        text        aside       .       "
        "content    content     content     content     content     content ";
}
.content-outsorsing .hr-1 {
    grid-area: hr-1;
}
.content-outsorsing .hr-2 {
    grid-area: hr-2;
}
.content-outsorsing .title {
    grid-area: title;
}
.content-outsorsing .text {
    grid-area: text;
}
.content-outsorsing .content {
    grid-area: content;
}
.content-outsorsing aside {
    grid-area: aside;
}
.content-outsorsing .image {
    grid-area: image;
    width: 100%;
    aspect-ratio: 5/2;
}
@media screen and (max-width: 1199px) {
    .content-outsorsing {
        grid-template-areas: 
            "hr-1       hr-1        hr-1        hr-1        hr-1        hr-1    "
            "title      title       title       title       title       title   "
            "hr-2       hr-2        hr-2        hr-2        hr-2        hr-2    "
            "image      image       image       image       image       image   "
            "text       text        text        text        aside       aside   "
            "content    content     content     content     content     content ";
    }
}
@media screen and (max-width: 959px) {
    .content-outsorsing .image {
        min-width: calc(100% + 60px);
        margin: 0 -30px;
    }
}
@media screen and (max-width: 639px) {
    .content-outsorsing {
        grid-template-areas: 
            "hr-1       hr-1        hr-1        hr-1        hr-1        hr-1    "
            "title      title       title       title       title       title   "
            "hr-2       hr-2        hr-2        hr-2        hr-2        hr-2    "
            "image      image       image       image       image       image   "
            "text       text        text        text        text        text    "
            "content    content     content     content     content     content ";
    }
    .content-outsorsing .image {
        min-width: calc(100% + 40px);
        margin: 0 -20px;
    }
}

/* ***********************************************************************************/
/* PAGE OUTSORSING TARIFS ************************************************************/
/* ***********************************************************************************/

.content-tarifs {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 20px;
    padding: 40px 0;
    grid-template-areas: 
        ".          title       title       title       title       .       "
        "tarif-1    tarif-1     tarif-2     tarif-2     tarif-3     tarif-3 ";
}
.content-tarifs .title {
    grid-area: title;
}
.content-tarifs .tarif-1 {
    grid-area: tarif-1;
}
.content-tarifs .tarif-2 {
    grid-area: tarif-2;
}
.content-tarifs .tarif-3 {
    grid-area: tarif-3;
}
.content-tarifs .title h2 {
    padding-bottom: 0;
}
.content-tarifs .title h3 {
    padding-top: 0;
}
.tarif {
    padding: 20px;
    background-color: #eee;
    cursor: default;
    transition: 0.3s ease-in-out;
}
.tarif h3 {
    transition: 0.3s ease-in-out;
}
.tarif hr {
    margin: 10px 0;
    border-bottom-color: var(--light-color);
}
.tarif button {
    margin-top: 10px;
}
.tarif .price {
    color: var(--deep-color);
    font-size: 40px;
    font-weight: 800;
    transition: 0.3s ease-in-out;
}
.tarif.active {
    background-color: #fff;
    box-shadow: var(--ghost-accent-color) 0 0 20px -7px;
}
.tarif.active h3 {
    color: var(--ghost-accent-color);
}
.tarif.active .price {
    color: var(--ghost-accent-color);
}
@media screen and (max-width: 1199px) {
    .content-tarifs {
        grid-template-areas: 
            "title      title       title       title       title       title   "
            "tarif-1    tarif-1     tarif-2     tarif-2     tarif-3     tarif-3 ";
    }
}
@media screen and (max-width: 959px) {
    .content-tarifs {
        grid-template-areas: 
            "title      title       title       title       title       title   "
            "tarif-1    tarif-1     tarif-1     tarif-1     tarif-1     tarif-1 "
            "tarif-2    tarif-2     tarif-2     tarif-2     tarif-2     tarif-2 "
            "tarif-3    tarif-3     tarif-3     tarif-3     tarif-3     tarif-3 ";
    }
}


/* ***********************************************************************************/
/* PAGE OUTSORSING CALC **************************************************************/
/* ***********************************************************************************/

.content-calc {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 20px;
    padding: 40px 0;
    grid-template-areas: 
        ".          title       title       title       title       .       "
        "calc       calc        calc        calc        notice      notice  "
        "price      price       button      button      .           .       ";
}
.content-calc .title {
    grid-area: title;
}
.content-calc .calc {
    grid-area: calc;
    padding-top: 10px;
    margin-top: 10px;
    border-top: var(--light-color) solid 2px;
    border-bottom: var(--light-color) solid 2px;
}
.content-calc .notice {
    grid-area: notice;
}
.content-calc .price {
    grid-area: price;
}
.content-calc .button {
    grid-area: button;
    align-self: end;
    padding-bottom: 10px;
}
.content-calc .title h2 {
    padding-bottom: 0;
}
.calc input.hidden {
    display: none;
}
.calc .calc-box-1 {
    display: grid;
    gap: 10px;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    margin-bottom: 20px;
}
.calc .calc-box-2 {
    display: grid;
    gap: 10px;
    grid-template-columns: 1fr 1fr 1fr;
    margin-bottom: 20px;
}
.calc .calc-box-3 {
    display: grid;
    gap: 10px;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
    margin-bottom: 20px;
}
.calc .calc-box-4 {
    display: grid;
    gap: 10px;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
    margin-bottom: 20px;
}
.calc h3 {
    padding: 0 0 10px 0;
}
.calc h3.disabled {
    color: #bbb;
}
.calc-item {
    display: grid;
    cursor: pointer;
    padding: 0 20px;
    border: var(--light-color) solid 2px;
    border-radius: 50px;
    text-align: center;
    align-content: center;
}
.calc-item p {
    line-height: 1.1;
}
.calc-item.enabled:hover {
    background-color: #eee;
}
.calc-item.selected {
    background-color: #fff;
    border-color: var(--ghost-accent-color);
}
.calc-item.disabled {
    cursor: default;
    border-color: #ccc;
    background: none;
}
.calc-item.disabled p {
    color: #bbb;
}
.content-calc span#price {
    padding-right: 10px;
    font-size: 36px;
    font-weight: 800;
    color: var(--ghost-accent-color);
}

@media screen and (max-width: 1199px) {
    .content-calc {
        grid-template-areas: 
            "title      title       title       title       title       title   "
            "calc       calc        calc        calc        calc        calc    "
            "price      price       notice      notice      notice      notice  "
            "button     button      notice      notice      notice      notice  ";
    }
}
@media screen and (max-width: 959px) {
    .calc .calc-box-1 {
        grid-template-columns: 1fr;
    }
}
@media screen and (max-width: 639px) {
    .content-calc {
        grid-template-areas: 
            "title      title       title       title       title       title   "
            "calc       calc        calc        calc        calc        calc    "
            "price      price       price       price       price       price   "
            "button     button      button      button      button      button  "
            "notice     notice      notice      notice      notice      notice  ";
    }
    .calc .calc-box-2 {
        grid-template-columns: 1fr;
    }
    .calc .calc-box-3 {
        grid-template-columns: repeat(3, 1fr);
    }
    .calc .calc-box-4 {
        grid-template-columns: repeat(4, 1fr);
    }
}



/* ***********************************************************************************/
/* PAGE ARTICLE **********************************************************************/
/* ***********************************************************************************/

.content-article {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    grid-template-rows: auto auto auto auto auto auto 1fr auto auto;
    gap: 20px;
    padding-top: 70px;
    padding-bottom: 40px;
    grid-template-areas: 
        "hr-1   hr-1            hr-1            hr-1            hr-1            hr-1    "
        ".      title           title           title           date            .       "
        ".      title           title           title           read            .       "
        ".      title           title           title           tags            .       "
        "hr-2   hr-2            hr-2            hr-2            hr-2            hr-2    "
        ".      content         content         content         authors         .       "
        ".      content         content         content         aside           .       "
        "hr-4   hr-4            hr-4            hr-4            hr-4            hr-4    "
        ".      similar-title   similar-title   similar-title   similar-title   .       "
        ".      similar-post-1  similar-post-2  similar-post-3  similar-post-4  .       ";
}
.content-article .title {
    grid-area: title;
}
.content-article .date {
    grid-area: date;
}
.content-article .read {
    grid-area: read;
}
.content-article .tags-small {
    grid-area: tags;
}
.content-article .content {
    grid-area: content;
}
.content-article .hr-1 {
    grid-area: hr-1;
}
.content-article .hr-2 {
    grid-area: hr-2;
}
.content-article .hr-3 {
    grid-area: hr-3;
    display: none;
}
.content-article .hr-4 {
    grid-area: hr-4;
}
.content-article .authors {
    grid-area: authors;
    align-self: start;
}
.content-article aside {
    grid-area: aside;
    min-width: 100%;
}
.content-article .similar-title {
    grid-area: similar-title;
}
.content-article .similar-post-1 {
    grid-area: similar-post-1;
}
.content-article .similar-post-2 {
    grid-area: similar-post-2;
}
.content-article .similar-post-3 {
    grid-area: similar-post-3;
}
.content-article .similar-post-4 {
    grid-area: similar-post-4;
}
@media screen and (max-width: 1199px) {
    .content-article {
        grid-template-areas: 
            "hr-1           hr-1            hr-1            hr-1            hr-1            hr-1            "
            "title          title           title           title           date            date            "
            "title          title           title           title           read            read            "
            "title          title           title           title           tags            tags            "
            "hr-2           hr-2            hr-2            hr-2            hr-2            hr-2            "
            "content        content         content         content         authors         authors         "
            "content        content         content         content         aside           aside           "
            "hr-4           hr-4            hr-4            hr-4            hr-4            hr-4            "
            "similar-title  similar-title   similar-title   similar-title   similar-title   similar-title   "
            "similar-post-1 similar-post-1  similar-post-2  similar-post-2  similar-post-3  similar-post-3  ";
    }
    .content-article .similar-post-4 {
        display: none;
    }
}
@media screen and (max-width: 639px) {
    .content-article {
        grid-template-columns: repeat(2, 1fr);
        grid-template-areas: 
            "hr-1           hr-1            "
            "title          title           "
            "title          title           "
            "title          title           "
            "date           read            "
            "tags           tags            "
            "hr-2           hr-2            "
            "authors        authors         "
            "hr-3           hr-3            "
            "content        content         "
            "content        content         "
            "hr-4           hr-4            "
            "similar-title  similar-title   "
            "similar-post-1 similar-post-1  "
            "similar-post-2 similar-post-2  "
            "similar-post-3 similar-post-3  ";
    }
    .content-article .read {
        justify-self: end;
    }
    .content-article .hr-3 {
        display: block;
    }
    .content-article .authors figure {
        display: flex;
        column-gap: 20px;
    }
    .content-article .authors figure:nth-child(n+2) {
        margin-top: 20px;
    }
    .content-article .authors figure img {
        margin: 0;
    }
    .content-article .authors figure figcaption {
        word-spacing: unset;
        align-self: center;
        margin: 0;
    }
    .content-article aside {
        display: none;
    }
}


/* ***********************************************************************************/
/* NAVIGATION TOP ********************************************************************/
/* ***********************************************************************************/

header.navigation {
    position: fixed;
    top: 0;
    padding: 30px 0 10px 0;
    width: 100%;
    z-index: 990;
}
.nav-top {
    height: 50px;
    display: grid;
    grid-template-columns: auto auto 1fr;
    column-gap: 10px;
    grid-template-areas: 
        "logo glass call"
    ;
}
.nav-top .logo {
    grid-area: logo;
    height: 50px;
}
.nav-top .call {
    grid-area: call;
    justify-self: end;
    cursor: pointer;
    width: 56px;
    height: 56px;
    margin: -3px 0;
    background-color: var(--ghost-accent-color);
    background-image: url("/assets/images/call-icon.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 70% 70%;
    color: #fff;
    border-radius: 28px;
}
.nav-top a.burger {
    grid-area: burger;
    justify-self: center;
    z-index: 993;
    display: none;
}
.nav-top .glass {
    padding: 0 5px;
    background-color: rgba(255, 255, 255, 0.4);
    backdrop-filter: blur(6px);
    border-radius: 25px;
    display: grid;
    grid-template-columns: auto auto auto;
    align-items: center;
    grid-template-areas: 
        "menu address phone"
    ;
}
.nav-top ul.menu {
    grid-area: menu;
    padding: 0 10px;
}
.nav-top ul.menu li {
    list-style-type: none;
    display: inline-block;
    font-size: 14px;
    padding: 0 10px;
    border-left: #fff solid 2px;
}
.nav-top ul.menu li:first-child {
    border: none;
}
.nav-top ul.menu li a {
    text-decoration: none;
    position: relative;
    display: block; 
    padding-bottom: 2px;
}
.nav-top ul.menu li a:after {
    content: "";
    position: absolute;
    width: 0%;
    height: 2px;
    bottom: 0;
    left: 0;
    background-color: var(--ghost-accent-color);
    transition: 0.2s ease-in-out;
}
.nav-top ul.menu li a:hover:after {
    width: 100%;
}
.nav-top .glass p {
    font-size: 14px;
    padding: 0 20px;
    line-height: 1.2;
}
.nav-top .glass p.address {
    grid-area: address;
    border-left: #111 solid 2px;
    border-right: #111 solid 2px;
}
.nav-top .glass p.phone {
    grid-area: phone;
    font-weight: 700;
}
.nav-top .glass p.phone a {
    text-decoration: none;
    transition: 0.2s ease-in-out;
}
.nav-top .glass p.phone a:hover {
    color: var(--ghost-accent-color);
}
button.burger {
    cursor: pointer;
    display: block;
    position: relative;
    border: none;
    background: transparent;
    width: 40px;
    height: 26px;
    margin: 12px auto;
}
button.burger::before,
button.burger::after {
    content: '';
    left: 0;
    position: absolute;
    display: block;
    width: 100%;
    height: 4px;
    border-radius: 10px;
    background: #000;
}
button.burger::before {
    top: 0;
    box-shadow: 0 11px 0 #000;
    transition: box-shadow .2s .1s, top .2s .1s, transform .2s;
}
button.burger::after {
    bottom: 0;
    transition: bottom .2s .1s, transform .2s;
}
button.burger.active::before {
    top: 11px;
    transform: rotate(45deg);
    box-shadow: 0 6px 0 rgba(0,0,0,0);
    transition: box-shadow .1s, top .2s, transform .2s .1s;
}
button.burger.active::after {
    bottom: 11px;
    transform: rotate(-45deg);
    transition: bottom .2s, transform .2s .1s;
}
#slide-menu {
    position: fixed;
    top: -100vh;
    left: 0;
    width: 100%;
    height: 100vh;
    background-color: #fff;
    transition: 0.2s ease-in-out;
    z-index: 992;
}
#slide-menu.show {
    top: 0;
    box-shadow: 0 0 40px rgba(0,0,0,0.3);
}
#slide-menu .container.slide-menu {
    height: 100%;
    padding: 110px 40px;
    display: grid;
    grid-template-rows: auto auto;
    gap: 20px;
}
#slide-menu .container.slide-menu .top {
    align-self: start;
    text-align: center;
}
#slide-menu .container.slide-menu .bottom {
    align-self: end;
    text-align: center;
    padding-top: 10px;
    border-top: var(--ghost-accent-color) solid 2px;
}
#slide-menu .container.slide-menu .top ul li {
    font-size: 18px;
    padding: 10px 0;
    font-weight: 600;
}
#slide-menu .container.slide-menu .bottom p {
    font-size: 16px;
    padding: 4px 0;
}
#slide-menu .container.slide-menu .logo {
    display: inline-block;
    width: 120px;
    height: auto;
}
ul.slide-menu-pages li {
    list-style-type: none;
    display: block;
    font-size: 14px;
    padding: 8px 0;
}
ul.slide-menu-pages li a {
    text-decoration: none;
}
#lockscreen-slide-menu {
    visibility: hidden;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(226,226,226,0.3);
    backdrop-filter: blur(6px);
    opacity: 0;
    transition: 0.2s ease-in-out;
    z-index: 991;
}
#lockscreen-slide-menu.show {
    visibility: visible;
    opacity: 1;
}
.popup {
    visibility: hidden;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 30vw;
    min-width: 300px;
    transform: translate(-50%, 0);
    background-color: white;
    padding: 20px;
    border-radius: 20px;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: 0.2s ease-in-out;
    z-index: 9999;
}
.popup.show {
    visibility: visible;
    opacity: 1;
    transform: translate(-50%, -50%);
}
.popup .close {
    position: absolute;
    top: -18px;
    right: -28px;
    font-size: 40px;
    cursor: pointer;
}

@media screen and (max-width: 1199px) {
    .nav-top .glass {
        grid-template-areas: 
            "menu phone"
        ;
    }
    .nav-top .glass p.address {
        display: none;
    }
    .nav-top .glass p.phone {
        border-left: #111 solid 2px;
    }
}
@media screen and (max-width: 959px) {
    header.navigation {
        background-color: rgba(226, 226, 226, 0.3);
        backdrop-filter: blur(4px);
    }
    .nav-top {
        grid-template-columns: 86px 1fr 86px;
        grid-template-areas: 
            "logo burger call"
        ;
    }
    .nav-top .glass {
        display: none;
    }
    .nav-top a.burger {
        display: block;
    }
    @media (orientation: landscape) {
        #slide-menu .container.slide-menu {
            grid-template-rows: unset;
            grid-template-columns: 1fr 1fr;
            gap: 0;
            padding: 40px;
        }
        #slide-menu .container.slide-menu .top {
            align-self: end;
            text-align: left;
        }
        #slide-menu .container.slide-menu .bottom {
            text-align: left;
            padding: 10px 0 10px 20px;
            border: unset;
            border-left: var(--ghost-accent-color) solid 2px;
        }
    }
}


/******************************************************************************/
/* FOOTER *********************************************************************/
/******************************************************************************/

footer {
    position: fixed;
    bottom: 0;
    width: 100%;
    height: 400px;
    background: var(--deep-color);
    z-index: -1;
    font-family: 'Inter';
}
.footer {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    column-gap: 20px;
    row-gap: 20px;
    padding-top: 100px;
    padding-bottom: 60px;
    grid-template-areas: 
        "f1 f2  f3  f4  f5  f6  "
        "f1 f2  f3  f4  f5  f7  ";
}
.footer .f1 {
    grid-area: f1;
}
.footer .f2 {
    grid-area: f2;
}
.footer .f3 {
    grid-area: f3;
}
.footer .f4 {
    grid-area: f4;
}
.footer .f5 {
    grid-area: f5;
}
.footer .f6 {
    grid-area: f6;
}
.footer .f7 {
    grid-area: f7;
    align-self: end;
}
.footer .f4 .flex {
    display: flex;
    align-items: flex-start;
}
.footer .f4 .flex .flex-img{
    width: 42px;
    padding: 5px 10px 10px 0;
}
footer img.logo-footer {
    width: 150px;
    margin: 0 0 20px 0;
}
footer h4 {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.25;
    padding: 0;
    margin: 0 0 0.7em 0;
    color: var(--light-color);
}
footer h5 {
    font-size: 14px;
    font-weight: 600;
    line-height: 1.25;
    padding: 0;
    margin: 0 0 0.7em 0;
    color: var(--light-color);
    border-bottom: var(--light-color) solid 2px;
}
footer p {
    font-size: 14px;
    font-weight: 400;
    padding: 0 0 0.7em 0;
    color: var(--light-color);
}
footer a {
    text-decoration: none;
    transition: 0.2s ease-in-out;
}
footer a:hover {
    color: #fff;
}
footer .footer a.button {
    display: inline-block;
    line-height: 28px;
    margin: 0 0 20px 0;
    padding: 0 20px;
    font-size: 12px;
    font-weight: 400;
    color: var(--light-color);
    background: none;
    border: 2px solid var(--light-color);
    border-radius: 15px;
    transition: 0.2s ease-in-out;
}
footer .footer a.button:hover {
    color: #fff;
    background-color: var(--ghost-accent-color);
    border-color: #fff;
}
footer svg.socialnetwork-icon {
    width: 30px;
    height: 30px;
    margin: 0 10px 10px 0;
    padding: 0;
    fill: var(--light-color);
    transition: 0.2s ease-in-out;
}
footer svg.socialnetwork-icon:hover {
    fill: #fff;
}
@media screen and (max-width: 1199px) {
    .footer {
        grid-template-areas: 
            "f1 f1  f2  f2  f3  f3  "
            "f6 f6  f4  f4  f5  f5  "
            "f7 f7  f4  f4  f5  f5  ";
    }
    main {
        margin-bottom: 520px;
    }
    footer {
        height: 560px;
    }
}
@media screen and (max-width: 959px) {
    footer {
        position: relative;
        height: auto;
        z-index: unset;
    }
    .footer {
        padding-top: 60px;
        grid-template-areas: 
            "f2 f2  f2  f3  f3  f3  "
            "f4 f4  f4  f5  f5  f5  "
            "f1 f1  f1  f6  f6  f6  "
            "f1 f1  f1  f7  f7  f7  ";
    }
    main {
        margin-bottom: 0;
    }
}
@media screen and (max-width: 639px) {
    .footer {
        padding-top: 60px;
        grid-template-columns: repeat(1, 1fr);
        grid-template-areas: 
            "f1"
            "f2"
            "f3"
            "f4"
            "f5"
            "f6"
            "f7";
    }
    footer p,
    footer p a {
        font-size: 14px;
    }
    footer h4 {
        font-size: 20px;
    }
    footer h5 {
        font-size: 18px;
    }
}

/* ***********************************************************************************/
/* INTRO *****************************************************************************/
/* ***********************************************************************************/

#intro {
    width: 100%;
    min-height: 100vh;
    position: relative;
}
.intro {
    min-height: 100vh;
    padding-top: 110px;
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    grid-template-rows: 1fr auto;
    column-gap: 20px;
    row-gap: 20px;
    grid-template-areas: 
        "logo   logo    logo    logo    photo   photo"
        "card1  card1   card2   card2   photo   photo";
}
.intro .logo {
    grid-area: logo;
    background-image: url("/assets/images/rost.png");
    background-size: 100% auto;
    background-repeat: no-repeat;
    background-position: bottom right;
}
.intro .logo img {
    width: 180px;
    background: none;
}
.intro .logo h1 {
    margin: 0.5em 0;
}
.intro .photo {
    grid-area: photo;
    justify-self: end;
    width: 100%;
    height: 100%;
    background-image: url('/assets/images/hero-2.jpg');
    background-position: center center;
    background-size: cover;
    transition-delay: 0.8s;
}
.intro .card1 {
    grid-area: card1;
    padding: 12px 20px 20px 20px;
    background-color: var(--deep-color);
}
.intro .card2 {
    grid-area: card2;
    padding: 12px 20px 20px 20px;
    background-color: var(--ghost-accent-color);
    transition-delay: 0.4s;
}
.intro h2 {
    font-size: 30px;
    padding: 0;
}
.intro button {
    margin-top: 10px;
}
@media screen and (max-width: 1199px) {
    .intro {
        grid-template-areas: 
            "logo   logo    logo    logo    photo   photo"
            "card1  card1   card1   card2   card2   card2";
    }
    .intro .logo {
        background-size: 125% auto;
    }
    .intro .photo {
        transition-delay: 0.2s;
    }
    .intro .card1 {
        transition-delay: 0.5s;
    }
    .intro .card2 {
        transition-delay: 0.8s;
    }
}
@media screen and (max-width: 959px) {
    .intro {
        grid-template-areas: 
            "logo   logo    logo    logo    photo   photo"
            "card1  card1   card1   card2   card2   card2";
    }
    .intro .logo {
        min-height: 400px;
        background-size: 125% auto;
    }
    .intro .logo h1 {
        font-size: 48px;
    }
    .intro h2 {
        font-size: 24px;
    }
    .intro .logo img {
        width: 160px;
    }
}
@media screen and (max-width: 639px) {
    .intro {
        padding-top: 110px;
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        column-gap: 20px;
        row-gap: 20px;
        grid-template-areas: 
            "logo   "
            "card1  "
            "card2  "
            "photo  ";
    }
    .intro .logo {
        min-height: 75vw;
    }
    .intro .logo h1 {
        font-size: 36px;
    }
    .intro .logo img {
        width: 120px;
    }
    .intro .photo {
        width: 100%;
        aspect-ratio: 1/1;
    }
    .intro .photo {
        transition-delay: unset;
    }
    .intro .card1 {
        transition-delay: 0.5s;
    }
    .intro .card2 {
        transition-delay: 0.8s;
    }
}


/* ***********************************************************************************/
/* LEARN *****************************************************************************/
/* ***********************************************************************************/

#learn .learn {
    padding-top: 200px;
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 20px;
    grid-template-areas: 
        "title      title       card-1      card-1      card-1      card-1  "
        "title      title       card-2      card-2      card-3      card-3  "
        "title      title       card-4      card-4      card-5      card-5  "
        "title      title       faq         faq         faq         faq     "
        "title      title       form        form        form        form    ";
}
.learn .title {
    grid-area: title;
    align-self: start;
    position: sticky;
    top: 110px;
}
.learn .title h2 {
    height: 200px;
    margin-bottom: 20px;
}
.learn .about {
    grid-area: about;
}
.learn .card-1 {
    grid-area: card-1;
}
.learn .card-2 {
    grid-area: card-2;
}
.learn .card-3 {
    grid-area: card-3;
    transition-delay: 0.2s;
}
.learn .card-4 {
    grid-area: card-4;
}
.learn .card-5 {
    grid-area: card-5;
    transition-delay: 0.2s;
}
.learn .faq {
    grid-area: faq;
}
#learn .learn .form {
    grid-area: form;
}
#learn .learn .form h2 {
    padding: 0;
}
.learn .card-5 {
    grid-area: card-5;
}
.card {
    display: grid;
    grid-template-rows: auto auto;
    row-gap: 20px;
    box-shadow: #ccc 0 0 20px;
    background-color: #eee;
}
.card-img {
    position: relative;
    display: block;
    overflow: hidden;
}
.card-img img {
    width: 100%;
    object-fit: cover;
    object-position: center;
    aspect-ratio: 2/1;
}
.card-img-title {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 10px 20px;
    line-height: 1.1;
    color: #fff;
    background-color: rgba(0, 0, 0, 0.2);
}
.card-img .label {
    position: absolute;
    top: 20px;
    left: 0;
}
.card-img .label p,
.card-small-img .label p {
    width: min-content;
    padding: 2px 10px 2px 5px;
    margin-bottom: 5px;
    white-space: nowrap;
    text-transform: uppercase;
    font-weight: 600;
    line-height: 1;
    color: #fff;
    background-color: var(--ghost-accent-color);
    border-radius: 0 15px 15px 0;
}
.card-content {
    padding: 0 20px 20px 20px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 20px;
}
.card-content h3,
.card-small-content h3 {
    padding-top: 0;
}
.card-small-content h3 {
    padding-top: 0;
}
.card-content p,
.card-small-content p {
    padding: 0;
}
.card-content hr,
.card-post hr {
    margin: 5px 0;
    border-bottom: var(--light-color) dotted 2px;
}
.card-small {
    display: grid;
    grid-template-rows: auto 1fr;
    gap: 20px;
    box-shadow: #ccc 0 0 20px;
    background-color: #eee;
    overflow: hidden;
}
.card-small-img {
    position: relative;
    display: block;
    overflow: hidden;
}
.card-small-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    aspect-ratio: 5/3;
}
.card-small-img .label {
    position: absolute;
    top: 30px;
    left: 0;
}
.card-small-content {
    padding: 0 20px 20px 20px;
}
@media screen and (max-width: 1199px) {
    #learn .learn {
        padding-top: 200px;
        display: grid;
        grid-template-columns: repeat(6, 1fr);
        gap: 20px;
        grid-template-areas: 
            "title      title       card-1      card-1      card-1      card-1  "
            "title      title       card-2      card-2      card-3      card-3  "
            "title      title       card-4      card-4      card-5      card-5  "
            "title      title       faq         faq         faq         faq     "
            "title      title       form        form        form        form    ";
    }
}
@media screen and (max-width: 959px) {
    #learn .learn {
        padding-top: 100px;
        grid-template-columns: repeat(2, 1fr);
        grid-template-areas: 
            "title          title       "
            "card-1         card-1      "
            "card-2         card-3      "
            "card-4         card-5      "     
            "faq            faq         "   
            "form           form        ";
    }
    .learn .title {
        grid-area: title;
        align-self: start;
        position: relative;
        top: unset;
    }
    .learn .title h2 {
        height: auto;
        font-size: 30px;
    }
}
@media screen and (max-width: 639px) {
     #learn .learn {
        grid-template-columns: 1fr;
        grid-template-areas: 
            "title      "
            "card-1     "
            "card-2     "
            "card-3     "
            "card-4     "
            "card-5     "     
            "faq        "   
            "form-title "
            "form       ";
    }
    .card-img img {
        aspect-ratio: 4/3;
    }
    .card-img h2 {
        font-size: 28px;
    }
    .card-small-img img {
        aspect-ratio: 2/1;
    }
    .card-content {
        display: block;
        grid-template-columns: unset;
        column-gap: unset;
    }
    .card-content h3 {
        padding: 10px 0;
    }
    .learn .card-3,
    .learn .card-5 {
        transition-delay: unset;
    }
}


/* ***********************************************************************************/
/* LEARN POST ************************************************************************/
/* ***********************************************************************************/

.post-learn {
    padding-top: 70px;
    padding-bottom: 40px;
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 20px;
    grid-template-areas: 
        "hr-1       hr-1        hr-1        hr-1        hr-1        hr-1        "
        ".          title       title       title       title       .           "
        "hr-2       hr-2        hr-2        hr-2        hr-2        hr-2        "
        ".          content     content     content     aside       .           ";
}
.post-learn .hr-1 {
    grid-area: hr-1;
}
.post-learn .hr-2 {
    grid-area: hr-2;
}
.post-learn .title {
    grid-area: title;
}
.post-learn .content {
    grid-area: content;
}
.post-learn aside {
    grid-area: aside;
}
@media screen and (max-width: 1199px) {
    .post-learn {
        grid-template-areas: 
            "hr-1       hr-1        hr-1        hr-1        hr-1        hr-1        "
            "title      title       title       title       title       title       "
            "hr-2       hr-2        hr-2        hr-2        hr-2        hr-2        "
            "content    content     content     content     aside       aside       ";
    }
}
@media screen and (max-width: 639px) {
    .post-learn {
        grid-template-areas: 
            "hr-1       hr-1        hr-1        hr-1        hr-1        hr-1        "
            "title      title       title       title       title       title       "
            "hr-2       hr-2        hr-2        hr-2        hr-2        hr-2        "
            "content    content     content     content     content     content     "
            "aside      aside       aside       aside       aside       aside       ";
    }
}


/* ***********************************************************************************/
/* OUTSORSING ************************************************************************/
/* ***********************************************************************************/

#outsorsing .outsorsing {
    padding-top: 200px;
    padding-bottom: 200px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    grid-template-areas: 
        "title       benefit     benefit "
        "title       card-1      card-2  "
        "title       card-3      card-4  "
        "title       card-5      card-6  "
        "title       faq         faq     "
        "title       form        form    ";
}
.outsorsing .title {
    grid-area: title;
    align-self: start;
    position: sticky;
    top: 110px;
}
.outsorsing .title h2 {
    height: 200px;
    margin-bottom: 20px;
}
.outsorsing .benefit {
    grid-area: benefit;
}
.outsorsing .benefit h2 {
    padding-top: 0;
}
.outsorsing .card-1 {
    grid-area: card-1;
    background-image: url(/assets/images/icon-piggy.svg);
}
.outsorsing .card-2 {
    grid-area: card-2;
    background-image: url(/assets/images/icon-chart.svg);
    transition-delay: 0.2s;
}
.outsorsing .card-3 {
    grid-area: card-3;
    background-image: url(/assets/images/icon-calendar.svg);
}
.outsorsing .card-4 {
    grid-area: card-4;
    background-image: url(/assets/images/icon-cup.svg);
    transition-delay: 0.2s;
}
.outsorsing .card-5 {
    grid-area: card-5;
    background-image: url(/assets/images/icon-safe.svg);
}
.outsorsing .card-6 {
    grid-area: card-6;
    background-image: url(/assets/images/icon-rocket.svg);
    transition-delay: 0.2s;
}
.outsorsing .faq {
    grid-area: faq;
}
.outsorsing .form {
    grid-area: form;
}
.outsorsing .form h2 {
    padding: 0;
}
.outsorsing-card {
    padding-left: 110px;
    background-position: top left;
    background-repeat: no-repeat;
    background-size: 100px 100px;
}
@media screen and (max-width: 1199px) {
    #outsorsing .outsorsing {
        grid-template-columns: repeat(3, 1fr);
        grid-template-areas: 
            "title       benefit     benefit "
            "title       card-1      card-1  "
            "title       card-2      card-2  "
            "title       card-3      card-3  "
            "title       card-4      card-4  "
            "title       card-5      card-5  "
            "title       card-6      card-6  "
            "title       faq         faq     "
            "title       form        form    ";
    }
    .outsorsing .card-2,
    .outsorsing .card-4,
    .outsorsing .card-6 {
        transition-delay: unset;
    }
}
@media screen and (max-width: 959px) {
    #outsorsing .outsorsing {
        padding-top: 100px;
        padding-bottom: 100px;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-template-areas: 
            "title          title       "
            "benefit        benefit     "
            "card-1         card-1      "
            "card-2         card-2      "
            "card-3         card-3      "
            "card-4         card-4      "
            "card-5         card-5      "
            "card-6         card-6      "     
            "faq            faq         "   
            "form           form        ";
    }
    .outsorsing .title {
        position: relative;
        top: unset;
    }
    .outsorsing .title h2 {
        height: auto;
        font-size: 30px;
    }
}


/* ***********************************************************************************/
/* PROFI *****************************************************************************/
/* ***********************************************************************************/

#profi {
    width: 100%;
    min-height: 100vh;
    position: relative;
    background-image: url("/assets/images/profi.jpg");
    background-position: center center;
    background-size: cover;
}
.profi {
    min-height: 100vh;
    padding-bottom: 40px;
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    grid-template-rows: 1fr auto;
    gap: 20px;
    grid-template-areas: 
        "title      title       .           .           .           .           "
        ".          profile1    profile1    .           profile2    profile2    ";
}
.profi .title {
    grid-area: title;
}
.profi .title .multiply {
    padding: 110px 20px 20px 20px;
    background-color: var(--ghost-accent-color);
    backdrop-filter: blur(8px);
}
.profi .title .deep {
    padding: 20px;
    background-color: rgba(56, 60, 70, 0.5);
    backdrop-filter: blur(8px);
}
.profi .profile1 {
    grid-area: profile1;
    align-self: end;
}
.profi .profile2 {
    grid-area: profile2;
    align-self: end;
    margin-bottom: 50px;
}
.profi .lighting {
    position: absolute;
    top: 70px;
    left: 50px;
    width: 200px;
    height: 200px;
    background-color: rgba(255,255,255,0.7);
    border-radius: 100px;
    filter: blur(30px);
}
@media screen and (max-width: 1199px) {
    .profi .title .multiply h1.extra {
    font-size: 7.5vw;
}
}
@media screen and (max-width: 959px) {
    #profi {
        background-position: center top;
        background-size: auto 95vw;
        background-repeat: no-repeat;
        min-height: unset;
    }
    .profi {
        padding-bottom: 0;
        min-height: unset;
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: 95vw auto;
        grid-template-areas: 
            "title      title   "
            "profile1   profile2";
    }
    .profi .title .multiply {
        width: min-content;
        padding: 30px 20px 20px 20px;
    }
    .profi h1.extra {
        font-size: 44px;
        padding: 0;
    }
    .profi .title .deep {
        display: none;
    }
    .profi .lighting {
        display: none;
    }
    .profi .profile1,
    .profi .profile2 {
        align-self: start;
        margin: 0;
    }
    .profi .card-glass {
        padding: 0;
        background: unset;
        backdrop-filter: unset;
        border: unset;
    }
}
@media screen and (max-width: 639px) {
    .profi h1.extra {
        font-size: 30px;
    }
}



/* ***********************************************************************************/
/* RESPONSE **************************************************************************/
/* ***********************************************************************************/

#response .response {
    padding-top: 200px;
    padding-bottom: 200px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    grid-template-areas: 
        "title      yandex    .";
}
.response .title {
    grid-area: title;
    align-self: start;
    position: sticky;
    top: 110px;
}
.response .title h2 {
    height: 200px;
    margin-bottom: 20px;
}
.response .yandex {
    grid-area: yandex;
}
@media screen and (max-width: 959px) {
    #response .response {
        padding-top: 100px;
        padding-bottom: 100px;
        display: grid;
        grid-template-columns: 1fr;
        gap: 20px;
        grid-template-areas: 
            "title      "
            "yandex     ";
    }
    .response .title {
        position: relative;
        top: unset;
    }
    .response .title h2 {
        height: auto;
        font-size: 30px;
    }
}

/* ***********************************************************************************/
/* LAST ARTICLES *********************************************************************/
/* ***********************************************************************************/

#last-articles .last-articles {
    padding-top: 200px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    grid-template-areas: 
        "title      articles    articles";
}
.last-articles .title {
    grid-area: title;
    align-self: start;
    position: sticky;
    top: 110px;
}
.last-articles .title h2 {
    height: 200px;
    margin-bottom: 20px;
}
.last-articles .articles {
    grid-area: articles;
}
.last-articles .articles h2 {
    padding-top: 0;
}
@media screen and (max-width: 959px) {
    #last-articles .last-articles {
        padding-top: 100px;
        grid-template-columns: 1fr;
        grid-template-areas: 
            "title     "
            "articles  ";
    }
    .last-articles .title {
        position: relative;
        top: unset;
    }
    .last-articles .title h2 {
        height: auto;
        font-size: 30px;
    }
}



/* ***********************************************************************************/
/* COMPANY TEAM **********************************************************************/
/* ***********************************************************************************/

.content-team {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 20px;
    padding-top: 70px;
    padding-bottom: 40px;
    grid-template-areas: 
        "hr-1       hr-1        hr-1        hr-1        hr-1        hr-1    "
        ".          title       title       title       title       .       "
        "hr-2       hr-2        hr-2        hr-2        hr-2        hr-2    "
        ".          content     content     content     aside       .       ";
}
.content-team .hr-1 {
    grid-area: hr-1;
}
.content-team .hr-2 {
    grid-area: hr-2;
}
.content-team .title {
    grid-area: title;
}
.content-team aside {
    grid-area: aside;
}
.content-team .content {
    grid-area: content;
}
.team-list {
    padding-bottom: 80px;
}
.team-item {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-top: 20px;
}
.team-item img {
    aspect-ratio: 4/5;
    object-fit: cover;
    margin-bottom: 10px;
}
.team-item figcaption {
    grid-column: span 2;
}
@media screen and (max-width: 1199px) {
    .content-team {
        grid-template-areas: 
            "hr-1       hr-1        hr-1        hr-1        hr-1        hr-1    "
            "title      title       title       title       title       title   "
            "hr-2       hr-2        hr-2        hr-2        hr-2        hr-2    "
            "content    content     content     content     aside       aside   ";
    }
}
@media screen and (max-width: 639px) {
    .content-team {
        grid-template-columns: 1fr;
        grid-template-areas: 
            "hr-1       "
            "title      "
            "hr-2       "
            "content    ";
    }
    .content-team aside {
        display: none;
    }
}

/* ***********************************************************************************/
/* AUTHOR ****************************************************************************/
/* ***********************************************************************************/

.content-autor {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    column-gap: 20px;
    row-gap: 20px;
    padding-top: 70px;
    padding-bottom: 40px;
    grid-template-areas: 
        "hr-1       hr-1        hr-1        hr-1        hr-1        hr-1    "
        ".          title       title       title       img         .       "
        "hr-2       hr-2        hr-2        hr-2        hr-2        hr-2    "
        ".          content     content     content     aside       .       ";
}
.content-autor .hr-1 {
    grid-area: hr-1;
}
.content-autor .hr-2 {
    grid-area: hr-2;
}
.content-autor .title {
    grid-area: title;
}
.content-autor .title h1 {
    grid-area: title;
}
.content-autor img {
    grid-area: img;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.content-autor .content {
    grid-area: content;
}
.content-autor aside {
    grid-area: aside;
}
@media screen and (max-width: 1199px) {
    .content-autor {
        grid-template-areas: 
            "hr-1       hr-1        hr-1        hr-1        hr-1        hr-1    "
            "title      title       title       title       img         img     "
            "hr-2       hr-2        hr-2        hr-2        hr-2        hr-2    "
            "content    content     content     content     aside       aside   ";
    }
}
@media screen and (max-width: 639px) {
    .content-autor {
        grid-template-columns: repeat(3, 1fr);
        grid-template-areas: 
            "hr-1       hr-1        hr-1        "
            "title      title       title       "
            "hr-2       hr-2        hr-2        "
            "img        img         img         "
            "content    content     content     ";
    }
    .content-autor aside {
        display: none;
    }
}


/* ***********************************************************************************/
/* OTHER *****************************************************************************/
/* ***********************************************************************************/

.authors img {
    width: 80px;
    height: 80px;
    margin-bottom: 10px;
    border-radius: 50px;
    object-fit: cover;
}
.authors figcaption {
    font-size: 14px;
    font-weight: 600;
    word-spacing: 100vw;
    margin-bottom: 40px;
    color: var(--deep-color);
}
.authors figcaption a {
    text-decoration: none;
    transition: 0.2s ease-in-out;
}
.authors figcaption a:hover {
    color: var(--ghost-accent-color);
}
.aside-block {
    margin-bottom: 20px;
}
.aside-block h3 {
    padding: 0 0 5px 0;
    border-bottom: var(--deep-color) solid 2px;
}
.aside-block h3.accent {
    border-bottom: var(--ghost-accent-color) solid 2px;
}
.aside-block p {
    font-size: 14px;
}
.aside-block a {
    text-decoration: none;
}
.aside-block .form {
    margin-top: 20px;
    height: 320px;
}
.form-form {
    display: none;
}
.form-form.show {
    display: block;
}
.form-processing {
    display: none;
    height: 250px;
    background-image: url("/assets/images/processing.gif");
    background-repeat: no-repeat;
    background-position: center center;
}
.form-processing.show {
    display: block;
}
.form-result {
    display: none;
    height: 100%;
}
.form-result.show {
    display: block;
}
.aside-box {
    margin-bottom: 20px;
    background-color: var(--deep-color);
}
.aside-box h3 {
    margin: 0 20px;
    color: #fff;
}
.aside-box p {
    padding: 10px 20px;
    font-size: 14px;
    color: #fff;
    background-color: var(--ghost-accent-color);
}
.aside-box button {
    margin: 20px;
}
.aside-box.accent {
    background-color: var(--ghost-accent-color);
}
.aside-box.shelf {
    background-image: url(/assets/images/folders.jpg);
    background-size: cover;
    background-position: center center;
}
.telegram {
    position: sticky;
    top: 130px;
    margin-top: 40px;
    padding: 30px 20px 20px 20px;
    background-color: var(--light-color);
}
.telegram img {
    position: absolute;
    height: 50px;
    top: -25px;
    right: calc(50% - 25px);
    outline: #e2e2e2 solid 2px;
    border-radius: 25px;
}
aside .stick {
    position: sticky;
    top: 110px;
}
.card-light {
    padding: 20px;
    background-color: var(--light-color);
}
.card-post {
    padding: 10px 20px;
    margin-bottom: 20px;
    background-color: #eee;
}
.card-post p time {
    font-size: 14px;
    color: var(--light-color);
}
.card-glass {
    padding: 20px;
    background-color: rgba(255,255,255,0.3);
    backdrop-filter: blur(8px);
    border-top: rgba(255, 255, 255, 0.2) solid 1px;
    border-left: rgba(255, 255, 255, 0.2) solid 1px;
    border-bottom: rgba(0, 0, 0, 0.1) solid 1px;
    border-right: rgba(0, 0, 0, 0.1) solid 1px;
}
.card-form {
    padding: 20px 20px 40px 20px;
    background-color: var(--light-color);
}
.card-form-light {
    padding: 20px 20px 40px 20px;
    background-color: var(--light-color);
}
p.breadcrumb {
    padding-top: 0;
    font-size: 20px;
    font-weight: 400;
    color: var(--ghost-accent-color);
}
p.breadcrumb a {
    text-decoration: none;
}
main .kg-button-card {
    justify-content: start;
}
main .kg-toggle-card {
    box-shadow: none;
    background-color: #eee;
    border-radius: 0;
}
main .kg-toggle-card+.kg-toggle-card {
    margin-top: 10px;
}
main .kg-toggle-heading svg {
    color: var(--deep-color);
}
main .kg-button-card a, 
main .kg-button-card a.kg-btn-accent {
    margin-top: 10px;
    cursor: pointer;
    height: 40px;
    font-size: 16px;
    font-weight: 400;
    font-family: "Inter", sans-serif;
    padding: 0 15px;
    color: #fff;
    border: none;
    border-radius: 20px;
    background: var(--ghost-accent-color);
    transition: 0.2s ease-in-out;
}
main .kg-button-card a:hover,
main .kg-button-card a.kg-btn-accent:hover {
    background-color: var(--deep-color);
    opacity: 1;
}
#vk_groups {
    margin-bottom: 20px;
}
main .kg-cta-bg-grey {
    margin: 20px 0;
    background: #eee;
}
main .kg-cta-card {
    border-radius: 0;
}
.kg-cta-minimal .kg-cta-content {
    padding: 0;
    flex-direction: row-reverse;
    gap: 0;
}
.kg-cta-image-container {
    width: 30%;
}
.kg-cta-minimal .kg-cta-image-container img {
    width: 100%;
    height: 100%;
    border-radius: 0;
}
.kg-cta-content-inner {
    width: 100%;
    padding: 10px 20px 20px 20px;
    gap: 10px;
}
main .kg-cta-text p {
    line-height: 1.2;
}
main .kg-cta-text p span {
    color: inherit;
}
main .kg-cta-text p:first-child {
    font-weight: 800;
    color: var(--ghost-accent-color);
}
main .kg-cta-text p+p {
    margin: 0;
    font-size: 20px;
    font-weight: 800;
    color: var(--deep-color);
    line-height: 1.2;
    padding-top: 0;
}
a.kg-cta-button {
    font-family: "Inter", sans-serif;
    border-radius: 20px;
}
a.kg-cta-button:hover {
    opacity: 1;
    background-color: var(--deep-color);
}
.kg-blockquote-alt {
    font-style: normal;
    font-size: 1.2em;
    border-left: none;
}
.pagination {
    display: grid;
    grid-template-columns: auto auto 1fr;
    gap: 20px;
    font-size: 16px;
    font-weight: 400;
    color: var(--deep-color);
}
.pagination a {
    text-decoration: none;
}
.pagination .page-numbers {
    display: flex;
}
.pagination .points {
    display: inline-block;
    padding: 5px;
    color: var(--light-color);
}
.pagination .newer-page {
    display: inline-block;
    padding: 5px 10px;
    background-color: #eee;
    transition: 0.2s ease-in-out;
}
.pagination .older-page {
    justify-self: start;
    display: inline-block;
    padding: 5px 10px;
    background-color: #eee;
    transition: 0.2s ease-in-out;
}
.pagination a .newer-page:hover,
.pagination a .older-page:hover,
.pagination a .page-number:hover {
    color: #eee;
    background-color: var(--deep-color);
}
.pagination .page-number {
    display: inline-block;
    padding: 5px 10px;
    margin: 0 2px;
    background-color: var(--light-color);
    transition: 0.2s ease-in-out;
}
.pagination .page-number.current {
    padding: 5px 10px;
    color: #eee;
    border-color: var(--ghost-accent-color);
    background-color: var(--ghost-accent-color);
}
.kg-toggle-card-icon:hover {
    background-color: var(--light-color);
}
@media screen and (max-width: 959px) {
    .kg-cta-minimal .kg-cta-content {
        flex-direction: column-reverse;
    }
    .kg-cta-image-container {
        width: 100%;
        aspect-ratio: 5/2;
    }
}