
:root {
    --color: rgb(255, 255, 255);
    --color2: rgb(0, 0, 0);
    --color3: rgb(16, 9, 35);
    --color4: rgb(51, 12, 128);
    --bgcolor: rgb(0, 0, 0);
    --bgcolor2: rgb(51, 12, 128);
    --bgcolor2i: rgb(204, 243, 127);
    --bgcolor3: rgb(255, 255, 255);
    --bgcolor3e: rgb(217, 217, 217);
    --bgcolor4: rgb(88, 34, 148);
    --bgcolor4b: rgb(154, 31, 166);
    --bgcolor5: rgb(255, 255, 255);
    --text-color: rgb(255, 255, 255);
    --focus-color: rgb(255, 255, 255);
    --focus-color-inv: rgb(0, 0, 0);
    --focus-out: 2px solid var(--focus-color);
    --grad-angle: 5deg;
    --h1-size: 2.2rem;
    --h1-weight: 800;
    --h2-size: 1.5rem;
    --h2-weight: bold;
    --text-size: 1rem;
    --small-text: 1rem;
    --inline-margin: 5vw;
    --submit-button-circle: 1em;
}
@supports (top: 1vi) {
:root {
    --inline-margin: 5vi;
}
}

.size2 {
    --h2-size: 1.7rem;
}

html {
    color: rgb(255, 255, 255);
    color: var(--text-color);
    background-color: rgb(0, 0, 0);
    background-color: var(--bgcolor);
}

main {
    width: 100%;
    font-size: 1rem;
    font-size: var(--text-size);
}

div {
    text-wrap: balance;
    text-wrap: pretty;
}

h1 {
    font-size: 2.2rem;
    font-size: var(--h1-size);
    font-weight: 800;
    font-weight: var(--h1-weight);
    color: rgb(255, 255, 255);
    color: var(--h1-color, var(--text-color));
    text-transform: uppercase;
}

h2 {
    font-size: 1.5rem;
    font-size: var(--h2-size);
    font-weight: bold;
    font-weight: var(--h2-weight);
    color: rgb(255, 255, 255);
    color: var(--h2-color, var(--text-color));
}

.cset1 {
    --h1-color: var(--color3);
    --h2-color: var(--color4);
    --text-color: var(--color2);

    color: rgb(0, 0, 0);

    color: var(--color2);
}

.bg-owner {
    position: relative;
}

.bg-child {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
}

.bg-contain {
    background-size: contain;
    background-repeat: no-repeat;
}

.content {
    --bg-height-base: 100;

    min-height: calc(100 * 1vw);

    min-height: var(--bg-min-height, calc(var(--bg-height-base) * 1vw));

    min-height: calc(100 * 1vi);

    min-height: var(--bg-min-height, calc(var(--bg-height-base) * 1vi));
    color: rgb(255, 255, 255);
    color: var(--text-color);
}

.bg-whole {
    --bg-min-height: 100svb;

    background-size: cover;
}

.intro-bg {
    background-image: url('./images/hero-bg.webp');

    /*
    background-image: image-set(
        url('./images/hero-bg.avif') type('image/avif'),
        url('./images/hero-bg.webp') type('image/webp'),
        url('./images/hero-bg.png') type('image/png')
    );
    */
}

.intro-content {
    --h2-weight: 600;

    font-size: 1.3rem;
}

header {
    background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.6) 70%, rgba(0, 0, 0, 0));
    padding: 2rem 5vw;
    padding: 2rem 5vi;
    padding: 2rem var(--inline-margin);
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}

header img {
    height: 5rem;
    width: auto;
}

a {
    color: inherit;
    -webkit-text-decoration: none;
    -webkit-text-decoration: none;
    text-decoration: none;
}

nav, menu {
    color: rgb(255, 255, 255);
    display: flex;
    flex-direction: row;
    gap: 1.7rem;
    align-items: center;
    font-size: 1rem;
}

menu {
    list-style-type: none;
}

menu li {
    text-transform: uppercase;
    text-align: right;
}

.menu-button {
    border: 1px solid transparent;
}

.inv-button {
    --focus-out: 2px solid var(--focus-color-inv);

    filter: invert(1);
}

.menu-button img {
    width: 2rem;
    height: auto;
}

.languages {
    position: relative;
}

#lang-button {
    font-weight: bold;
}

header a, header button {
    display: inline-flex;
}

menu a, #lang-button, .lang-selector a {
    color: inherit;
    border: 1px solid transparent;
    padding: 0.5rem;
    white-space: pre-line;
}

.lang-selector {
    position: absolute;
    display: flex;
    flex-direction: column;
}

.lang-selected {
    background-color: rgb(128, 128, 128);
    outline: 2px solid transparent;
}

header a:focus-visible,
header button:focus-visible,
.contacts-input:focus-visible,
.submit-button:focus-visible
{
    outline: 2px solid rgb(255, 255, 255);
    outline: var(--focus-out);
}

.intro-content article {
    padding-top: 5svb;
    padding: 5svb 5vw 1rem;
    padding: 5svb 5vi 1rem;
    padding: 5svb var(--inline-margin) 1rem;
    width: 50%;
    display: flex;
    flex-direction: column;
    gap: 1.5svi;
    white-space: pre-line;
}

.intro-content article div {
    display: inline-flex;
}

.intro-content article a {
    margin-top: 1rem;
    padding: 1rem 3rem;
    font-weight: 600;
    border-radius: 0.25rem;
    font-size: 1rem;
    line-height: normal;
    cursor: pointer;
    text-transform: uppercase;
    border: 2px solid transparent;
    background-color: rgb(152, 30, 172);
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
}

.intro-logos {
    position: absolute;
    right: 5vw;
    bottom: 5vw;
    right: 5vi;
    bottom: 5vi;
    top: auto;
    right: var(--inline-margin);
    bottom: var(--inline-margin);
    left: auto;
}

.intro-logos img {
    width: 10vw;
    width: 10vi;
    height: auto;
}

.solutions-bg {
    --sol-grad: linear-gradient(180deg, var(--bgcolor3), var(--bgcolor3e));

    background-image:
        linear-gradient(180deg, rgb(255, 255, 255), rgb(217, 217, 217))
    ;

    background-image:
        var(--sol-grad)
    ;
}

.solutions-bg2 {
    --shift-bb: 7svb;

    height: calc(100% + 7svb);

    height: calc(100% + var(--shift-bb, 0));
    top: - 7svb;
    top: - var(--shift-bb, 0);
    background-image:
        -webkit-image-set(
            url('./images/chipsV2.avif') type('image/avif'),
            url('./images/chipsV2.webp') type('image/webp'),
            url('./images/chipsV2.png') type('image/png')
        )
        ,url('./images/alpha_promo.webp')
        ,url('./images/retail.webp')
    ;
    background-image:
        image-set(
            url('./images/chipsV2.avif') type('image/avif'),
            url('./images/chipsV2.webp') type('image/webp'),
            url('./images/chipsV2.png') type('image/png')
        )
        ,url('./images/alpha_promo.webp')
        ,url('./images/retail.webp')
    ;
    background-repeat: no-repeat;
    background-position: top right 9svi, bottom 40% left, bottom right -15svb;
    background-size: 51svi auto, 65svi auto, 65svi auto;
    z-index: 0;
}

.solutions-content {
    --bg-height-base: 120;
    --h1-size: 2.4rem;
    --h2-size: 1.5rem;

    font-size: 1.5rem;
    line-height: 1.2;
    padding: 0 5vw;
    padding: 0 5vi;
    padding: 0 var(--inline-margin);
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr 1fr;
    align-items: center;
}

.solutions-content h1 {
    margin-bottom: 2rem;
}

.solutions-content h2 {
    text-transform: uppercase;
    margin-bottom: 0.5rem;
}

.sol-text {
    width: 70%;
}

.sol-codes {
    grid-column: 1/2;
    grid-row: 1/2;
}

.sol-camp {
    grid-column: 2/2;
    grid-row: 2/2;
    padding-left: 5vw;
    padding-left: 5vi;
    padding-left: var(--inline-margin);
    margin-top: auto;
    margin-bottom: auto;
}

.sol-lic {
    grid-column: 1/2;
    grid-row: 3/3;
}

.partners-bg {
    background-color: rgb(255, 255, 255);
    background-color: var(--bgcolor3);
    background-image:
        radial-gradient(farthest-corner at right top, rgb(88, 34, 148), transparent 35%)
        ,
        linear-gradient(180deg, rgb(154, 31, 166), rgb(255, 255, 255) 70%)
    ;
    background-image:
        radial-gradient(farthest-corner at right top, var(--bgcolor4), transparent 35%)
        ,
        linear-gradient(180deg, var(--bgcolor4b), var(--bgcolor3) 70%)
    ;
}

.partners-content {
    --bg-height-base: 120;
    --bg-min-height: 175svb;
}

.partners-content > div {
    padding-top: 10%;
    padding-bottom: 5%;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.partners-content h1,
.partners-content h2
{
    white-space: pre-line;
}

.partner-logos {
    margin-top: 5rem;
    display: inline-flex;
    gap: 0;
    align-items: center;
}

.partner-logos img {
    height: auto;
    width: 14svi;
}

img.x5logo {
    width: 27svi;
}

img.o3logo {
    margin-left: 5svi;
    margin-right: 10svi;
}

#success h1 {
    margin-bottom: 2.5rem;
}

.success-logos {
    margin-top: 4rem;
    gap: 7svi;
}

img.layslogo {
    margin-left: 2svi;
    margin-right: 2svi;
}

.success-bg {
    --text-color: var(--color2);

    background-color: rgb(255, 255, 255);

    background-color: var(--bgcolor3);
}

.success-content {
    --bg-height-base: 54;
}

.contact-bg {
    background-image: url('./images/contact-bg.webp');
    background-size: cover;
    bottom: -7rem;
}

.contact-content {
    --bg-height-base: 54;

    padding: 0 20%;
    font-size: 1.5rem;
    font-size: var(--h2-size);
    line-height: 1.5;
    white-space: pre-line;
    text-align: center;
}

.contact-content p {
    font-weight: 600;
}

.contact-content br {
    display: none;
}

.contact-info {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

.contact-form {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    width: 55%;
    margin-top: 4rem;
    margin-bottom: 2rem;
}

.contacts-input {
    line-height: 1.5;
    box-sizing: border-box;
    outline: none;
    border: 1px solid transparent;
    background-color: rgba(255, 255, 255, 0.2);
    border-radius: 0.25rem;
    font-size: 1rem;
    font-weight: 500;
    padding: 0.8em 1.2em 0.7em;
    width: 100%;
}

.contacts-input::-moz-placeholder {
    color: rgba(255, 255, 255, 0.8);
    font-weight: normal;
}

.contacts-input::placeholder {
    color: rgba(255, 255, 255, 0.8);
    font-weight: normal;
}

.submit-button {
    padding: 0.5em 4em;
    font-weight: bold;
    border-radius: 16px;
    font-size: 1.2rem;
    line-height: normal;
    cursor: pointer;
    border: 2px solid transparent;
    color: rgb(255, 255, 255);
    background-color: rgb(0, 0, 0);
    margin-top: 1rem;
    margin-left: auto;
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
}

.submit-button::before {
    content: '';
    display: none;
    position: relative;
    left: -0.4em;
    top: 0.15em;
    margin-top: -0.2em;
    width: 1em;
    width: var(--submit-button-circle);
    height: 1em;
    height: var(--submit-button-circle);
    border: 2px solid;
    border-left-color: transparent;
    border-right-color: transparent;
    border-radius: 50%;
    opacity: 0;
    transition: opacity 0.5s;
    animation: 0.8s linear infinite rotate;
}

.sending-button {
    pointer-events: none;
    cursor: not-allowed;
}

.sending-button::before {
    display: inline-block;
    transition-delay: 0.5s;
    transition-duration: 1s;
    opacity: 1;
}

@keyframes rotate {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

.message {
    display: flex;
    width: 100%;
    font-size: 1.2rem;
    color: var(--button-text);
    padding: 0;
    margin: 0;
}

.error-message {
    justify-content: space-between;
    align-items: center;
    border: 2px solid rgb(255, 0, 0);
}

.button-img {
    padding: 0;
    height: 1.1rem;
    width: auto;
}

.shadow-img {
    filter: brightness(85%) drop-shadow(1px 1px rgb(0, 0, 0));
}

.error-message > * {
    display: flex;
    align-items: center;
    gap: 0.4em;
    margin: 3px 0.4em;
}

.error-message > button {
    background: none;
    border: 2px solid transparent;
    padding-left: 0.3rem;
    padding-right: 0.15rem;
    border-left: 3px solid rgb(255, 0, 0);
    color: rgb(255, 255, 255);
    color: var(--text-color);
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: rect(0 0 0 0);
    border: 0;
}

.warn-message {
    border: 2px solid rgb(0, 190, 0);
}

.warn-text {
    margin: 0.5em 1em;
}

.msg-success {
    text-align: center;
}

.success-panel {
    margin-top: auto;
    margin-bottom: auto;
    gap: 1rem;
}

.btn-up {
    position: fixed;
    right: 4rem;
    bottom: 4rem;
    z-index: 2;
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
}

.btn-up a {
    display: inline-flex;
    border: 2px solid rgb(255, 255, 255);
    background-color: rgb(92, 38, 150);
    border-radius: 50%;
    padding: 0.4rem;
}

.btn-up img {
    width: 2rem;
    height: auto;
    filter: invert(1);
}

.hidden-button {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.visible-button {
    opacity: 1;
    visibility: visible;
    pointer-events: all;
}

@media screen and (min-width: 1150px) {
    .mobile-only {
        display: none;
    }
}

@media screen and (max-width: 1149.98px) {
    .mobile-only {
        display: inline-flex;
    }

    nav {
        position: relative;
        flex-direction: column;
        gap: 0.3rem;
    }

    .mobile-hidden {
        display: none;
    }

    #menu-cnt {
        position: absolute;
        margin-left: auto;
        background: rgb(255, 255, 255);
        background: var(--bgcolor3);
        color: rgb(0, 0, 0);
        color: var(--color2);
        border: 2px solid transparent;
        padding: 0.5rem 5vw 1rem;
        padding: 0.5rem 5vi 1rem;
        padding: 0.5rem var(--inline-margin) 1rem;
        align-items: flex-end;
        z-index: 1;
        width: max(12rem, min(15rem, 60vw));
        width: max(12rem, min(15rem, 60vi));
    }

    .menu-inset {
        top: -0.5rem;
        right: calc( -1 * 5vw);
        right: calc( -1 * 5vi);
        right: calc( -1 * var(--inline-margin));
    }

    menu {
        color: rgb(0, 0, 0);
        flex-direction: column;
        gap: 0;
        align-items: flex-end;
    }

    menu a {
        white-space: normal;
    }

    .languages {
        display: block;
    }

    .btn-up {
        right: 2rem;
        bottom: 2rem;
    }

    .btn-up img {
        width: 1.5rem;
    }
}

@media (orientation: portrait) {
    :root {
        --h1-size: 1.5rem;
        --h2-size: 1.2rem;
        --text-size: 1rem;
        --small-text: 1rem;
    }

    .size2 {
        --h2-size: 1.2rem;
    }

    .msize2 {
        --h1-size: 1.1rem;
        --h2-size: 0.8rem;
        --text-size: 0.8rem;
    }

    .minline90 {
        width: 90%;
    }

    .minline80 {
        width: 80%;
    }

    main {
        background-color: rgba(0, 0, 0, 0);
    }

    .intro-bg {
        background-image: url('./images/hero-bgmV2.webp');
        background-image:
            linear-gradient(
                90deg,
                rgb(0 0 0 / 0%),
                rgb(0 0 0 / 20%) 40%,
                rgb(0 0 0 / 0%)
            ),
            -webkit-image-set(
                url('./images/hero-bgmV2.avif') type('image/avif') 1x, url('./images/hero-bgmx2.avif') type('image/avif') 2x,
                url('./images/hero-bgmV2.webp') type('image/avif') 1x, url('./images/hero-bgmx2.webp') type('image/webp') 2x,
                url('./images/hero-bgmV2.png') type('image/avif') 1x, url('./images/hero-bgmx2.png') type('image/png') 2x
            )
        ;
        background-image:
            linear-gradient(
                90deg,
                rgb(0 0 0 / 0%),
                rgb(0 0 0 / 20%) 40%,
                rgb(0 0 0 / 0%)
            ),
            image-set(
                url('./images/hero-bgmV2.avif') type('image/avif') 1x, url('./images/hero-bgmx2.avif') type('image/avif') 2x,
                url('./images/hero-bgmV2.webp') type('image/avif') 1x, url('./images/hero-bgmx2.webp') type('image/webp') 2x,
                url('./images/hero-bgmV2.png') type('image/avif') 1x, url('./images/hero-bgmx2.png') type('image/png') 2x
            )
        ;
        background-size: cover;
        background-position-x: right;
    }

    .intro-content {
        --bg-min-height: unset;
        --h1-size: min(1.5rem, 5.5vw);
        --h2-size: min(1rem, 4vw);

        display: flex;
        flex-direction: column;
        font-size: min(0.9rem, 3.5vw);
        font-size: min(0.9rem, 3.5vi);
    }

    @supports (top: 1vi) {

    .intro-content {
        --h2-size: min(1rem, 4vi);
    }
    }

    @supports (top: 1vi) {

    .intro-content {
        --h1-size: min(1.5rem, 5.5vi);
    }
    }

    header {
        padding-top: 1rem;
    }

    .intro-content article {
        width: 100%;
        padding-top: 1rem;
        gap: 1rem;
    }

    .intro-content article a {
        margin-top: 0;
        margin-bottom: 0;
    }

    .intro-content .intro-logos {
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 1fr 1fr;
    }

    .intro-logos {
        position: static;
        position: initial;
        align-self: end;
        margin-bottom: 5vw;
        margin-bottom: 5vi;
        margin-bottom: var(--inline-margin);
    }

    .intro-logos img {
        width: 20vw;
        width: 20vi;
    }

    .solutions-bg2 {
        --shift-bb: 0svb;

        background-image:
            url('./images/chipsm.webp')
            ,url('./images/alpha_promo.webp')
            ,url('./images/retail.webp')
        ;
        background-image:
            -webkit-image-set(
                url('./images/chipsmV2.avif') type('image/avif') 1x, url('./images/chipsmx2.avif') type('image/avif') 2x,
                url('./images/chipsmV2.webp') type('image/avif') 1x, url('./images/chipsmx2.webp') type('image/webp') 2x,
                url('./images/chipsmV2.png') type('image/avif') 1x, url('./images/chipsmx2.png') type('image/png') 2x
            ),
            url('./images/alpha_promo.webp'),
            url('./images/retail.webp')
        ;
        background-image:
            image-set(
                url('./images/chipsmV2.avif') type('image/avif') 1x, url('./images/chipsmx2.avif') type('image/avif') 2x,
                url('./images/chipsmV2.webp') type('image/avif') 1x, url('./images/chipsmx2.webp') type('image/webp') 2x,
                url('./images/chipsmV2.png') type('image/avif') 1x, url('./images/chipsmx2.png') type('image/png') 2x
            ),
            url('./images/alpha_promo.webp'),
            url('./images/retail.webp')
        ;
        background-position: top right, bottom 40% left, bottom right -3svb;
        background-position: top 1svb right -2svi, bottom 40% left, bottom right -3svb;
        background-size: 63svi auto, 65svi auto, 65svi auto;
    }

    .solutions-content {
        --h1-size: min(1.5rem, 5.5vw);
        --h2-size: min(1rem, 4vw);

        font-size: min(0.9rem, 3.5vw);

        font-size: min(0.9rem, 3.5vi);
        grid-template-rows: 1.4fr 1fr 1fr;
        padding-top: 1rem;
        padding-bottom: 1rem;
        align-items: end;
    }

    @supports (top: 1vi) {

    .solutions-content {
        --h2-size: min(1rem, 4vi);
    }
    }

    @supports (top: 1vi) {

    .solutions-content {
        --h1-size: min(1.5rem, 5.5vi);
    }
    }

    .solutions-content h1 {
        margin-bottom: 1rem;
    }

    .partners-content {
        --bg-min-height: initial;
        --bg-height-base: 100;
    }

    .partner-logos {
        margin-top: 2rem;
        gap: 3svi;
    }

    .partner-logos img {
        width: 20svi;
    }

    img.x5logo {
        width: 39svi;
    }

    img.o3logo {
        margin-left: 2svi;
        margin-right: 4svi;
    }

    #success h1 {
        margin-bottom: 1.5rem;
    }

    .success-logos {
        margin-bottom: 2rem;
    }

    .contact-bg {
        background-image: url('./images/contact-bgm.webp');
        background-position-x: center;
        bottom: -11.5rem;
    }

    .contact-content {
        --bg-height-base: 97.40;

        padding: 0 5vw;

        padding: 0 5vi;

        padding: 0 var(--inline-margin);
        font-size: 0.9rem;
        gap: 0.4rem;
        white-space: normal;
    }

    .contact-content br {
        display: inline;
    }

    .contact-content h1 {
        line-height: 1;
        font-size: 1rem;
    }

    .contact-content button {
        margin: 0 0 0 auto;
    }

    .contact-info {
        padding-top: 2rem;
    }

    .contact-form {
        width: 90%;
        margin-top: 1rem;
    }

    .contacts-input {
        padding: 0.6em 1em 0.5em;
    }

}

@media screen and (max-width: 460px) and (orientation: portrait) {
    :root {
        --small-text: 0.9rem;
    }
}

@media screen and (max-width: 360px) and (orientation: portrait) {
	:root {
		--small-text: 0.7rem;
	}
}

footer {
    --footer-color: rgb(255, 255, 255);
    --footer-button: rgb(255, 255, 255);
    --icon-filter: invert(1);
    --icon-inv-filter: none;
    --logo-width: 80px;
    --logo-height: 80px;
    --telegram-bg: rgb(81, 160, 216);
    --nologo-width: 5rem;
    --cpr-gap: 0;
    --cpr-plinks-dir: row;
    --cpr-plinks-gap: 0.5em;
    --cpr-plinks-span: block;

    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-end;
    font-size: 0.75rem;
    line-height: 0.85rem;
    color: rgb(255, 255, 255);
    color: var(--footer-color);
    letter-spacing: 0.6px;
    padding: 0 5vw 1rem;
    padding: 0 5vi 1rem;
    padding: 0 var(--inline-margin) 1rem;
}

@supports (color: oklab(0% 0 0%)) {
footer {
    --telegram-bg: oklch(68% 0.11 242deg);
}
}

@media (forced-colors: active) {
    .inv-button {
        filter: initial;
    }
}

@media (prefers-contrast: more) {
    footer {
        --telegram-bg: rgb(0, 0, 0);
    }
}

.logo-img {
    filter: none;
    filter: var(--icon-filter, none);
}

.no-logo {
    width: var(--nologo-width);
}

.inv-filter {
    --icon-filter: var(--icon-inv-filter);
}

.copyright {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--cpr-gap);
}

.copyright p {
    padding: 0;
}

.prop-links {
    display: flex;
    align-items: center;
    flex-flow: var(--cpr-plinks-dir) wrap;
    justify-content: center;
    gap: var(--cpr-plinks-gap);
}

.prop-links span {
    display: var(--cpr-plinks-span);
}

.logo-icons {
    display: inline-flex;
    gap: 0.2rem;
    align-items: center;
    margin-top: 0.15rem;
    margin-bottom: 0.15rem;
}

.logo-icons a {
    display: inline-flex;
}

.link-unclr, .link-unclr:visited {
    color: var(--footer-color);
}

.subscribe {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    margin-left: auto;
}

.subscribe > a {
    padding: 1rem 2rem;
    font-weight: bold;
    font-size: 0.85rem;
    line-height: 1.2rem;
    letter-spacing: 1.5px;
    text-align: center;
    text-transform: uppercase;
    -webkit-text-decoration: none;
    -webkit-text-decoration: none;
    text-decoration: none;
    background-color: var(--telegram-bg);
    color: var(--footer-button);
    background-position: center center;
    border-radius: 0.5em;
    border: 1px solid transparent;
    transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out, border-color 0.2s ease-in-out;
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
}

.subscribe > div {
    margin-top: 0.4em;
    text-align: right;
}

@media (orientation: landscape) {
    .side-bar {
        flex: 1;
    }
}

@media (orientation: portrait) {
    .link-unclr {
        -webkit-text-decoration: revert;
                text-decoration: revert;
    }
}

@media screen and (max-width: 800px) {
    .subscribe > a {
        line-height: 1rem;
        text-align: center;
    }
}

@media screen and (max-width: 800px) and (orientation: portrait) {
    footer {
        --nologo-width: 0;

        padding-top: 1rem;
        flex-direction: column;
        align-items: center;
        gap: 0.5rem;
    }

    .logo-img, .no-logo {
        display: none;
    }

    .subscribe {
        margin-left: auto;
        margin-right: auto;
        align-items: center;
    }

    .subscribe > div {
        text-align: center;
    }
}

@media screen and (max-width: 400px) and (orientation: portrait) {
    html[lang="es"] footer .copyright,
    html[lang="fr"] footer .copyright
    {
        --cpr-gap: 0.2em;
        --cpr-plinks-dir: column;
        --cpr-plinks-gap: 0.3em;
        --cpr-plinks-span: none;
    }
}

.shadow-img-2 {
    filter: brightness(85%) drop-shadow(2px 2px #000);
}

.hidden {
    display: none;
}
