﻿/* layout.css -- базовая стандартная тема для всех сайтов */

/* Размеры экранов
    Мобильный max-width 768px
    Ноутбуки max-width 1439px
    ПК max-width 1919px -- вот это базовый :root
    Огромные экраны min-width 1800px
*/

:root {
    /* Базовый :root под экраны ПК*/
    /* Фоны */
    --bg-primary: #0F1216;
    --bg-terminal: #08090a;
    --bg-header: #1A1F26;
    --border-header: #2A313B;
    --bg-footer: #080A0D;
    --border-footer: #000000;
    --bg-hero: #0A1320;
    --bg-accent-red: #6b0113;
    --bg-accent-green: #4A9E6B;
    --border-hero-short: #701f2d;
    --border-action-button-dark: #290208;
    --border-action-button-light: #a63244;
    --bg-cookie: #1A1F26;
    --border-cookie: #2A313B;
    --bg-menu: rgba(152,165,184,0.95);
    /* Шрифты */
    --text-font-main: "JetBrains Mono", system-ui;
    --text-font-basic: "IBM Plex Sans", system-ui;
    --text-font-code: "Cascadia Mono", system-ui;
    /* Текст */
    --text-color-primary: #E6E8EB;
    --text-color-footer: #9AA1AC;
    --text-color-hero: #E6E4DA;
    --text-color-hero-muted: #6B7079;
    --text-color-cookie: #262729;
    --text-color-menu: #141517;
    /* Размеры текста */
    --text-size-cookie: 0.8rem;
    --text-rescue-label: 0.85rem;
    --text-size-base: 1rem;
    --text-size-header-additional: 1.2rem;
    --text-size-hero-short: 1.4rem;
    --text-size-header-main: 2.1rem;
    --text-size-hero-muted: 3.2rem;
    --text-size-hero: 4.5rem;
    /* Насыщенности */
    --weight-light: 200;
    --weight-regular: 400;
    /* Высоты */
    --height-header: 72px;
    --height-footer-min: 280px;
    --height-hero-short: 140px;
    --height-cookie: 150px;
    /* Ширины */
    --width-container: 85%;
    --width-hero-action-button: 400px;
    /* Отступы */
    --gap-basic: 8px;
    --gap-menu: 14px;
    --gap-hero-short: 50px;
    --gap-header-right: 24px;
    --gap-hero: 35px;
    /* z-index */
    --z-index-header: 100;
    --z-index-menu: 200;
    --z-index-cookie: 300;
    /* Padding */
    --padding-hero-action-button: 8px;
}
@media(min-width: 1800px) {
    :root {
        /* :root под огромные экраны*/
    }
}
@media(max-width: 1439px) {
    :root {
        /* :root под ноутбуки*/
        /* Ширины */
    }
}
@media(max-width: 768px) {
    :root {
        /* :root под мобильные телефоны*/
        /* Размеры текста */
        --text-size-hero-short: 1.2rem;
        --text-size-hero-muted: 1.8rem;
        --text-size-hero: 3.0rem;
        /* Высоты */
        --height-hero-short: auto;
        /* Ширины */
        --width-container: 95%;
        /* Отступы */
        --gap-hero-short: 14px;
        --gap-hero: 12px;
    }
}



section[id] {
    /* section[id] нужна, чтобы в момент перескакивания по ключу автоматически отступалась высота шапки*/
    scroll-margin-top: var(--height-header);
}
.body {
    font-family: var(--text-font-basic);
    font-size: var(--text-size-base);
    color: var(--text-color-primary);
    margin: 0;
    padding: 0;
    background-color: var(--bg-primary);
    overflow-x: hidden;
}
.container {
    width: var(--width-container);
    margin: 0 auto;
    min-height: var(--height-container);
}
.header {
    position: sticky;
    top: 0;
    z-index: var(--z-index-header);
    background: var(--bg-header);
    border-bottom: 1px solid var(--border-header);
}
.header_inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: var(--height-header);
}
.header_right {
    display: flex;
    align-items: flex-end;
    text-align: right;
    justify-content: end;
    gap: var(--gap-header-right);
}
@media(max-width: 1439px) {
    .header_right {
        display: none;
    }
}
.header_right_burger {
    background: none;
    border: none;
    color: var(--text-color-primary);
    font-family: var(--text-font-basic);
    font-size: var(--text-size-header-additional);
    font-weight: var(--weight-light);
    text-decoration: underline;
    text-underline-offset: 2px;
    text-decoration-thickness: 1px;
    text-decoration-skip-ink: auto;
    cursor: pointer;
}
@media(min-width:1440px) {
    .header_right_burger {
        display: none;
    }
}
.header_left {
    display: flex;
    align-items: flex-start;
    text-align: left;
    justify-content: start;
}
.header_main_text {
    font-size: var(--text-size-header-main);
    color: var(--text-color-primary);
    font-weight: var(--weight-regular);
    text-decoration: none;
}
.header_additional_text {
    font-size: var(--text-size-header-additional);
    color: var(--text-color-primary);
    font-weight: var(--weight-light);
    text-decoration: none;
}
.header_additional_text_hidden {
    display: none;
}
.main {
    background-color: var(--bg-primary);
}
.footer {
    background: var(--bg-footer);
    min-height: var(--height-footer-min);
    height: auto;
    border-top: 1px solid var(--border-footer);
    display: flex;  
}
.footer_gap {
    display: flex;
    flex-direction: column;
    gap: var(--gap-basic);
    height: auto;
    align-items: center;
    justify-content: center;
    padding: 15px 0px;
}
.footer_inner {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}
@media(max-width: 768px) {
    .footer_inner {       
        grid-template-columns: 1fr;
    }
}
.footer_column {
    display: flex;
    flex-direction: column;
    gap: var(--gap-basic);
    height: inherit;
}
.footer_text {
    font-size: var(--text-size-base);
    font-weight: var(--weight-light);
    color: var(--text-color-footer);
    text-decoration: none;
    margin: 0;
}
.footer_text_underline {
    font-size: var(--text-size-base);
    font-weight: var(--weight-light);
    color: var(--text-color-footer);
    text-decoration: underline;
    text-underline-offset: 2px;
    text-decoration-thickness: 1px;
    text-decoration-skip-ink: auto;
    margin: 0;
}
.footer_text_underline_hidden {
    display: none;
}
.hero {
    background-color: var(--bg-hero);
    width: 100%;
}
.hero_inner {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    text-align: left;
    gap: var(--gap-hero);
    padding: 50px 0px 100px 0px;
}
@media(max-width: 768px){
    .hero_inner {
        padding: 50px 0px 20px 0px;
    }
}
.hero_main_text {
    color: var(--text-color-hero);
    font-size: var(--text-size-hero);
    font-family: var(--text-font-main);
    text-align: left;
    margin: 0;
}
@media(max-width: 768px){
    .hero_main_text{
        width: var(--width-container);
    }
}
.hero_additional_text {
    color: var(--text-color-hero-muted);
    font-size: var(--text-size-hero-muted);
    font-family: var(--text-font-basic);
    border: 1px solid var(--border-hero-short);
    text-align: left;
    padding: 10px;
    width: fit-content;
    margin: 0;
}
@media(max-width: 768px){
    .hero_additional_text {
        width: var(--width-container);
    }
}
.hero_short {
    background-color: var(--bg-accent-red);
    height: var(--height-hero-short);
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    text-align: center;
    width: 100vw;
    gap: var(--gap-hero-short);
    border-top: 1px solid var(--border-hero-short);
    border-bottom: 1px solid var(--border-hero-short);
}
@media(max-width: 1439px) {
    .hero_short {
        flex-direction: column;
        align-items: center;
        gap: 8px;
        padding: 10px 0;
        height: auto;
    }
}
.hero_action_button {
    color: var(--text-color-hero);
    font-size: var(--text-size-hero-short);
    font-family: var(--text-font-basic);
    font-weight: var(--weight-light);
    padding: var(--padding-hero-action-button);
    border: 1px solid var(--border-action-button-dark);
    text-decoration: none;
    width: var(--width-hero-action-button);
}
    .hero_action_button:hover {
        border: 1px solid var(--border-action-button-light);
    }
.hero_action_button_hidden {
    display: none;
}
@media(max-width: 768px) {
    .hero_short_text {
        width: var(--width-container);
        margin: 0 auto;
        text-align: left;
    }
}
.cookie_banner {
    background: var(--bg-cookie);
    border: 1px solid var(--border-cookie);
    position: fixed;
    z-index: var(--z-index-cookie);
    right: 24px;
    bottom: 24px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 400px;
    height: 150px;
    gap: var(--gap-basic);
    padding: 8px;
}
    .cookie_banner[hidden] {
        display: none;
    }
.cookie_banner_hidden {
    display: none;
}
.cookie_banner_buttons {
    display: flex;
    flex-direction: row;
    gap: var(--gap-basic);
    align-items: center;
}
.cookie_banner_text {
    color: var(--text-color-primary);
    font-size: var(--text-size-cookie);
    font-family: var(--text-font-basic);
    text-align: left;
    padding: 0;
    margin: 0;
}
.cookie_banner_text_underline {
    color: var(--text-color-primary);
    font-size: var(--text-size-cookie);
    font-family: var(--text-font-basic);
    text-align: left;
    text-decoration: underline;
    text-underline-offset: 2px;
    text-decoration-thickness: 1px;
    text-decoration-skip-ink: auto;
    padding: 0;
    margin: 0;
}
.cookie_banner_button {
    color: var(--text-color-cookie);
    font-size: var(--text-size-cookie);
    font-family: var(--text-font-basic);
    cursor: pointer;
    border: 1px solid var(--border-cookie);
    height: 30px;
    width: 40%;
    text-align: center;
    padding: 0;
    margin: 0;
}
.menu_banner {
    background: var(--bg-menu);
    border: 1px solid var(--border-header);
    position: fixed;
    z-index: var(--z-index-menu);
    right: 24px;
    top: var(--height-header);
    left: 0;
    right:0;
    bottom:0;
    width: auto;
    height: auto;
}
.menu_banner[hidden] {
    display: none;
}
.menu_banner_inner {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: var(--gap-menu);
    padding: 16px 0px;
}
.menu_text_underline {
    font-size: var(--text-size-base);
    font-weight: var(--weight-regular);
    color: var(--text-color-menu);
    text-decoration: underline;
    text-underline-offset: 2px;
    text-decoration-thickness: 1px;
    text-decoration-skip-ink: auto;
    margin: 0;
}
.menu_text_underline_hidden{
    display: none;
}
.section_title {
    font-family: var(--text-font-main);
    font-size: var(--text-size-hero-muted);
    font-weight: var(--weight-light);
    color: var(--text-color-primary);
    margin: 0;
    line-height: 1.1;
    padding: 0 0 16px 0;
    border-bottom: 1px solid var(--border-header);
}
.productOne {
    border-bottom: 1px solid var(--border-header);
}
.productOne_inner {
    display: flex;
    flex-direction: column;
    padding: 60px 0px 60px 0px;
    gap: 24px;
}
.rescue {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}
@media(max-width:768px) {
    .rescue {
        grid-template-columns: 1fr;
    }
}
.rescue_col{
    border: 1px solid var(--border-header);
    padding: 24px;
    background: var(--bg-header);
}
.rescue_col--fix {
    border: 1px solid var(--bg-accent-green);
}
.rescue_label {
    font-family: var(--text-font-main);
    font-size: 0.85rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--text-color-hero-muted);
    margin: 0 0 16px 0;
}
.rescue_col--fix .rescue_label {
    color: var(--bg-accent-green);
}
.rescue_list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: var(--gap-basic);
}
.rescue_item {
    display: flex;
    gap: var(--gap-basic);
    font-size: var(--text-size-base);
    font-weight: var(--weight-light);
    color: var(--text-color-footer);
    line-height: 1.45;
}
.rescue_mark {
    flex: 0 0 18px;
    font-family: var(--text-font-main);
    color: var(--bg-accent-red);
}
.rescue_col--fix .rescue_mark {
    color: var(--bg-accent-green);
}
.rescue_tags {
    display: flex;
    flex-wrap: wrap;
    gap: var(--gap-basic);
}
.rescue_tag {
    font-family: var(--text-font-main);
    font-size: var(--text-size-base);
    padding: 10px;
    border: 1px solid var(--border-header);
    color: var(--text-color-footer);
    letter-spacing: 0.04em;
}
.productTwo {
    border-bottom: 1px solid var(--border-header);
}
.productTwo_inner {
    display: flex;
    flex-direction: column;
    padding: 60px 0px 60px 0px;
    gap: 24px;
}
.terminal {
    height: auto;
    border: 1px solid var(--border-header);
}
.terminal_head {
    background: var(--bg-header);
    height: 50px;
    border-bottom: 1px solid var(--border-header);
    display: flex;
    align-items: center;
}
.terminal_body {
    background: var(--bg-terminal);
    height: 220px;
    overflow: auto;
}
.terminal_text {    
    margin: 0 0 0 20px;
    font-family: var(--text-font-code);
    font-size: var(--text-size-base);
    padding: 10px 0 10px 0;
    color: var(--text-color-primary);
    font-weight: var(--weight-light);
}
    .terminal_text:hover {
        color: var(--bg-accent-green);
    }
.stack_plugins{
    display: flex;
    flex-direction: row; 
}
@media(max-width: 768px){
    .stack_plugins{
        flex-direction: column;
    }
}
.stack_one {
    display: flex;
    flex-direction: column;
    border-left: 1px solid var(--bg-accent-red);
    padding: 10px;
    flex: 1;
}
.stack_one_name {
    font-family: var(--text-font-main);
    font-size: var(--text-size-header-additional);
    font-weight: var(--weight-light);
    color: var(--text-color-primary);
    margin: 0;
    line-height: 1.1;
    padding: 0 0 16px 0;
}
.stack_one_text {
    font-family: var(--text-font-basic);
    font-size: var(--text-size-header-additional);
    font-weight: var(--weight-light);
    color: var(--text-color-primary);
    margin: 0;
    line-height: 1.1;
    padding: 0 0 16px 0;
}
.action_button {
    color: var(--text-color-hero);
    font-size: var(--text-size-hero-short);
    font-family: var(--text-font-basic);
    font-weight: var(--weight-light);
    padding: var(--padding-hero-action-button);
    border: 1px solid var(--border-action-button-dark);
    text-decoration: none;
    width: fit-content;
    background: var(--bg-accent-red);
}
    .action_button:hover {
        border: 1px solid var(--border-action-button-light);
    }
.action_button_hidden {
    display: none;
}
.productThree {
    border-bottom: 1px solid var(--border-header);
    display: none;
}
.productThree_inner {
    display: flex;
    flex-direction: column;
    padding: 60px 0px 60px 0px;
    gap: 24px;
}
.productFour {
    border-bottom: 1px solid var(--border-header);
    display: none;
}
.productFour_inner {
    display: flex;
    flex-direction: column;
    padding: 60px 0px 60px 0px;
    gap: 24px;
}
.blog {
    border-bottom: 1px solid var(--border-header);
}
.blog_inner {
    display: flex;
    flex-direction: column;
    padding: 60px 0px 60px 0px;
    gap: 24px;
}
.blog_table {
    display: flex;
    flex-direction: column;
    padding: 60px 0px 60px 0px;
    gap: 24px;
}
.blog_table_line {
    display: flex;
    gap: 12px;
    border-bottom: 1px solid var(--border-header);
}
.blog_table_line:hover {
        padding: 0 0 0 5px;
    }
    .blog_table_line:hover .blog_table_post {
        color: var(--bg-accent-red);
    }
@media(max-width: 768px) {
    .blog_table_line {
        flex-direction: column;
    }
}
.blog_table_post {
    font-family: var(--text-font-basic);
    font-size: var(--text-size-base);
    font-weight: var(--weight-light);
    color: var(--text-color-primary);
    margin: 0;
    padding: 0 0 16px 0;
    text-decoration: none;
}
.blog_table_post_soft {
    font-family: var(--text-font-basic);
    font-size: var(--text-size-base);
    font-weight: var(--weight-light);
    color: var(--text-color-footer);
    margin: 0;
    width: 150px;
}
.contacts {
    border-bottom: 1px solid var(--border-header);
}
.contacts_inner {
    display: flex;
    flex-direction: column;
    padding: 60px 0px 60px 0px;
    gap: 24px;
}
.contacts_action_buttons{
    display: flex;
    gap: var(--gap-menu);
    margin: 0 0 25px 0;
}
@media(max-width: 768px){
    .contacts_action_buttons{
        flex-direction: column;
    }
}
.text_basic_style {
    font-family: var(--text-font-basic);
    font-size: var(--text-size-base);
    font-weight: var(--weight-light);
    color: var(--text-color-primary);
    margin: 0;
    padding: 0 0 16px 0;
}
.text_basic_style_underline {
    font-family: var(--text-font-basic);
    font-size: var(--text-size-base);
    font-weight: var(--weight-light);
    color: var(--text-color-primary);
    margin: 0;
    padding: 0 0 16px 0;
    text-decoration: underline;
    text-underline-offset: 2px;
    text-decoration-thickness: 1px;
    text-decoration-skip-ink: auto;
}
.page_basic{
    display: flex;
    flex-direction: column;
    margin: 24px 0;
    gap: 24px;
    min-height: 100vh;
}