@property --background-grad1 {
    syntax: '<color>';
    initial-value: hsl(252deg 18.47% 90.86%);
    inherits: true;
}

@property --background-grad2 {
    syntax: '<color>';
    initial-value: hsl(247.06deg 14.01% 82.78%);
    inherits: true;
}

@property --butt-color {
    syntax: '<color>';
    initial-value: #e6e6eb;
    inherits: true;
}

@property --footer-color {
    syntax: '<color>';
    initial-value: #d7d6da;
    inherits: true;

}


* {
    -webkit-tap-highlight-color: transparent;
}

:root {
    --font-weight: 300;
    --background-grad1: hsl(257.42deg 22.77% 95.1%);
    --background-grad2: hsl(253.73deg 12.6% 79.76%);
    --butt-color-top-line: #fff;
    --butt-color-bottom-line: #b8b8be;
    --footer-color-top-line: #f2f2f8;
    --footer-color: #b3b2b8;
    --footer-color-shadow-inset: #a9a8ad;
    --footer-size: 150px;
    --footer-a-color: #705a8e;
    --h-color-start: #5f5767;
    --h-color-stop: #2a2536;
    --h-filter: drop-shadow(-1px -1px 0px hsl(200deg 8.09% 86.75%));
    --but-shadow: 1px 1px 1px 0 #efe5fa inset, 1px 1px 1px 0 #2f2a35, 1px 1px 0px 5px #d1cbdb;
    --font-color: #4c4957;
    --bg-images: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='300' height='300'><filter id='noice' x='0' y='0'><feTurbulence type='fractalNoise' baseFrequency='0.75' stitchTiles='stitch'/></filter><rect width='300' height='300' fill='transparent'/><rect width='300' height='300' filter='url(%23noice)' opacity='0.50'/></svg>");
    --txt-shadow: 0px 0px 0 #000;
    --menu-mobile-bg: hsl(250deg 6.52% 71.81% / 88%);
    --menu-mobile-line-a: 0 1px 0 0 #97929e, 0 2px 0 0 #d5d4dd;
    --menu-mobile-shadow: 0 1px 0 #d6d5e1, 0 5px 5px #b9b5bd;
    --svg-fill-soon: var(--font-color);
    --svg-fill-soon-hover: #a182f3;
    --svg-color: var(--font-color);
    --svg-shadow: none;
    --a-color: #75599a;
    --abbr-color: #907a59;
}

:root[data-color-scheme="dark"] {
    --font-weight: 300;
    --background-grad1: hsl(252deg 10.49% 28.04%);
    --background-grad2: hsl(247.06deg 24.64% 13.53%);
    --butt-color-top-line: #716f73;
    --butt-color-bottom-line: #2f2d31;
    --footer-color-top-line: #474649;
    --footer-color-shadow-inset: #2a292c;
    --footer-color: #323037;
    --footer-a-color: #bea2e5;
    --h-color-start: #f7fcfe;
    --h-color-stop: #9c98a7;
    --h-filter: drop-shadow(3px 3px 0px hsl(0deg 0% 0% / 31%));
    --but-shadow: 1px 1px 1px 0 #9587a6 inset, 1px 1px 1px 0 #413b48, 1px 1px 4px 2px #694697;
    --font-color: #e6e4ec;
    --bg-images: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='300' height='300'><filter id='noice' x='0' y='0'><feTurbulence type='fractalNoise' baseFrequency='0.75' stitchTiles='stitch'/></filter><rect width='300' height='300' fill='transparent'/><rect width='300' height='300' filter='url(%23noice)' opacity='0.23'/></svg>");
    --txt-shadow: 1px 1px 0 #000;
    --menu-mobile-bg: hsla(257, 7%, 20%, 92%);
    --menu-mobile-line-a: 0 1px 0 #2a272f, 0 2px 0 #3e3b43;
    --menu-mobile-shadow: 0 1px 0 #ffffff26, 0 5px 5px #24212899;
    --svg-fill-soon: none;
    --svg-fill-soon-hover: none;
    --svg-color: #f1ebff;
    --svg-shadow: drop-shadow(1px 1px 0 #000);
    --a-color: #bba4da;
    --abbr-color: #eae6d3;
}

@media screen and (max-width: 600px) {
    :root {
        --footer-size: 220px;
    }
}

html {
    font-family: 'AA Stetica';
    color: var(--font-color);
    font-size: 18px;
    /* font-weight: var(--font-weight); */
    height: max-content;
    background:
        linear-gradient(0deg, var(--footer-color) 0px calc(var(--footer-size) - 10px), var(--footer-color-shadow-inset) var(--footer-size), var(--footer-color-top-line) var(--footer-size) calc(var(--footer-size) + 1px), hsla(0, 0%, 0%, 0) var(--footer-size)),
        var(--bg-images),
        radial-gradient(circle at 9% 0%, var(--background-grad1), var(--background-grad2));
    min-height: 100%;
    transition: --background-grad1 .3s, --background-grad2 .3s, --footer-color .3s, color .3s;
    letter-spacing: .5px;
}

body {
    display: grid;
    align-items: baseline;
    grid-template-rows: 250px 1fr var(--footer-size);
    max-width: 1300px;
    margin: auto;
    min-height: 100vh;
    /* position: relative; */
}

#hexagLogo {
    filter: drop-shadow(3px 4px 3px hsla(267, 18%, 10%, 0.3)) !important;
}

header.main-header {
    display: grid;
    grid-template-rows: 70px 90px 50px;
    grid-auto-columns: 512px 1fr;
    grid-template-areas:
        "logo nav"
        "logo head"
        "logo cont";
    z-index: 2;
    /* width: 100%; */
}

header.main-header ul {
    grid-area: cont;
    font-size: 12px;
    color: #666076;
    align-self: baseline;
    padding: 0;
    font-weight: 500;
    margin-top: 3px;
    margin-left: calc(10% + 118px);
    text-shadow: var(--txt-shadow);
}

header.main-header ul li {
    margin-right: 20px;
    display: inline;
    list-style-type: none;
}

#emblem {
    grid-area: logo;
    /* margin-left: calc(10vw); */
}



menu#basic {
    font-weight: 400;
    display: grid;
    grid-template-rows: 100%;
    grid-auto-flow: column;
    margin: 0 80px 0 0;
    height: 50px;
    align-items: center;
    /* width: max-content; */
    padding: 0;
    border-radius: 3px;
    /* background: linear-gradient(210deg, transparent 33%, #ffffff08 80%); */
    position: relative;
    z-index: 2;
    list-style-type: none;
    align-self: center;
    justify-self: end;
    grid-area: nav;
    transition: box-shadow .3s, background .3s, transform .3s ease-in-out;
    font-size: 14px;
    /* text-decoration: overline; */
}

menu#basic li {
    display: inline-block;
    height: 100%;
    align-content: center;
    box-sizing: border-box;
}

menu#basic a {
    color: var(--font-color);
    /* text-decoration: none; */
    background: transparent;
    padding: 0 20px;
    height: 100%;
    display: flex;
    align-items: center;
    text-shadow: var(--txt-shadow);
}

menu#basic a.login {
    border-radius: 5px;
}


menu#basic a:hover {
    color: #a182f3;
    text-shadow: -1px -1px 0 #000, 0 0 10px #9f56ff;
}

/*ПОЛЗУНОК ВКЛЮЧАТЕЛЯ */
#colorScheme {
    display: flex;
    cursor: pointer;
    grid-area: nav;
    justify-self: end;
    align-self: center;
    margin: 0 15px 0 0;

    border-radius: 50%;
    padding: 10px;
}

#colorScheme #sunbeams,
#colorScheme #soon {
    filter: var(--svg-shadow);
    transition: fill .3s, stroke .3s, filter .3s;
}

#colorScheme:hover #sunbeams,
#colorScheme:hover #soon {
    filter: drop-shadow(-1px -1px 0 #000);
}


#colorScheme #soon {
    stroke: var(--svg-color);
    fill: var(--svg-fill-soon)
}

#colorScheme:hover #soon {
    stroke: #a182f3;
    fill: var(--svg-fill-soon-hover)
}

#colorScheme #sunbeams {
    fill: var(--svg-color);
}

#colorScheme:hover #sunbeams {
    fill: #a182f3;
}



.buttMenu {
    box-shadow: -1px -1px 0 0 var(--butt-color-top-line), 1px 1px 0 0 var(--butt-color-bottom-line);
    background: linear-gradient(310deg, transparent 33%, #ffffff08 80%) !important;
    backdrop-filter: blur(.5px);
    transition: box-shadow.3s, background .3s, color .3s;
}

.buttMenu:hover {
    background: linear-gradient(150deg, transparent 33%, #ffffff05 80%) !important;
    text-shadow: -1px -1px 0 #000, .1px .1px 0 #ffffff2b !important;
}

.buttMenu:active {
    box-shadow: 1px 1px 0 0 var(--butt-color-top-line), -1px -1px 0 0 var(--butt-color-bottom-line);
}


h1 {
    font-size: 40px;
    font-weight: 600;
    grid-area: head;
    height: 40px;
    align-self: end;
    margin: 0 0 0 10%;
    /* color: var(--font-color); */
}

#openMenu {
    display: none;
}

h1,
h2:not(.liner),
h3,
.liner span {
    background-color: #f7fcfe;
    background-image: linear-gradient(180deg, var(--h-color-start) 30%, var(--h-color-stop) 80%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    filter: var(--h-filter);
    /* color: var(--font-color); */
}

h1,
h2 {
    font-weight: 600;
}

h3 {
    font-weight: 500;
}


main {
    display: grid;
    z-index: 1;
    align-content: end;
}

a {
    user-select: none;
    text-decoration: none;
    color: var(--a-color);
    transition: color .3s, text-shadow .3s;
    text-shadow: 0 0 0 transparent;
}

a:hover {
    color: #a874f0;
    text-shadow: 0 0 10px #9c51ff;
}

footer.main-footer a {
    color: var(--footer-a-color);
}

.buts {
    font-size: 15px;
    font-weight: 300;
    color: #fff;
    cursor: pointer;
    outline: aliceblue;
    text-decoration: none;
    border: none;
    user-select: none;
    text-shadow: 1px 1px 1px rgb(0 0 0 / 64%);
    border-radius: 4px;
    padding: 15px 15px 13px 15px;
    display: inline-block;
    transition: box-shadow .2s, color .2s, text-shadow .2s, background .2s;
}

.buts {
    background: repeating-linear-gradient(-40deg, rgb(255 255 255 / 4%) 0px 3px, transparent 3px 6px), linear-gradient(-20deg, #634b8a, #886ab8);
    box-shadow: 1px 1px 1px 0 #9f8ac1 inset, 1px 1px 1px 0 #49346b, 1px 1px 4px 2px #8b68c28a;

}

.buts:hover {
    color: #fff;
    box-shadow: 1px 1px 1px 0 #9f8ac1 inset, 1px 1px 1px 0 #49346b, 1px 1px 7px 2px #b494e88a;
}

.buts:active {
    color: #fff;
    background: repeating-linear-gradient(-40deg, rgb(255 255 255 / 4%) 0px 3px, transparent 3px 6px), linear-gradient(-20deg, #634b8a, #634b8a);
    text-shadow: -1px -1px 1px #000000;
    box-shadow: -1px -1px 1px 0 #9e89c0 inset, -1px -1px 1px 0 #3c3941, 1px 1px 0px 2px #523b768a;
}

.buts.blue {
    background: repeating-linear-gradient(-40deg, rgb(255 255 255 / 4%) 0px 3px, transparent 3px 6px), linear-gradient(-20deg, #5d45a2, #a159aa);
    box-shadow: 1px 1px 1px 0 #9f8ac1 inset, 1px 1px 1px 0 #49346b, 1px 1px 4px 2px #8b68c28a;
}

/*
.buts.green {
    background: #639626;

    box-shadow: 1px 1px 1px 0 #9ec481 inset, 1px 1px 1px 0 #2e4c19, 1px 1px 4px 2px #70ff0930;
}

.buts.green:hover {
    color: #eaf8d9;
    text-shadow: 0 0 2px #132104;
}

.buts.green:active {
    color: #374b1f;
    text-shadow: 0 0 3px #cfff95;
}

.buts.blue {
    background: #2f5a80;
    box-shadow: 1px 1px 1px 0 #6d8ca8 inset, 1px 1px 1px 0 #224463, 1px 1px 4px 2px #426b8f;
}

.buts.blue:hover {
    color: #e8f1f9;
    text-shadow: 0 0 2px #132104;
}

.buts.blue:active {
    color: #172d41;
    text-shadow: 0 0 3px #a8d6ff;
}

.buts.violet {
    background: #694697;
    box-shadow: var(--but-shadow);
   
}

.buts.violet:hover {
    color: #ebd9f8;
    text-shadow: 0 0 2px #132104;
}

.buts.violet:active {
    color: #301b4d;
    text-shadow: 0 0 3px #ad75f7;
}*/

p {
    line-height: 28px;
    text-indent: 30px;
}

ol {

    line-height: 28px;
}

main h2 {
    font-weight: 600;
    /* margin: 0; */
}

footer.main-footer {
    align-self: center;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: 1fr;
    font-size: 14px;
    place-items: center;
    line-height: 20px;
    /* grid-column: 1/-1; */
    /* grid-row: -1; */
}

footer.main-footer input {
    height: 30px;
    box-sizing: border-box;
    border-radius: 0;
    vertical-align: middle;
    border: none;
    outline: none;
    border: none;
}

footer.main-footer .buts {
    padding: 0 15px 0 15px;
    border-radius: 0;
    font-size: 1em;
    margin: 0;
}





@media screen and (max-width: 1300px) {
    body {
        /* margin: 0 10px 0 10px; */
        box-sizing: border-box;
    }
}


@media screen and (max-width: 1220px) {


    body {
        grid-template-rows: 200px max-content var(--footer-size);
    }

    header.main-header {
        grid-template-rows: 70px 70px 50px;
        grid-auto-columns: 320px 1fr;
    }

    #emblem {
        margin-left: -110px;
        margin-top: -40px;
        transform: scale(0.80);
    }

    #descriptions {
        padding: 100px 200px 0 0;
    }
}

@media screen and (max-width: 850px) {

    body {
        grid-template-rows: 130px 1fr minmax(var(--footer-size), max-content);
        min-height: 100vh;
    }

    #openMenu {
        display: flex;
        grid-area: head;
        justify-self: end;
        font-size: 60px;
        line-height: 30px;
        margin-top: 16px;
        margin-right: 10px;
        cursor: pointer;
        z-index: 2;
    }

    #emblem {
        margin-left: -150px;
        margin-top: -103px;
        transform: scale(0.55);
    }

    header.main-header {
        grid-template-rows: 0 90px 50px;
        grid-auto-columns: 150px 1fr;
    }

    #colorScheme {
        grid-area: head;
        align-self: baseline;
        margin-bottom: 14px;
        margin-right: 66px;
        margin-top: 5px;
    }

    menu#basic {
        padding: 10px 0 0 0 !important;
        grid-template-rows: 34px;
        grid-auto-flow: row;
        grid-auto-rows: 34px;
        align-self: baseline;
        width: 100%;
        grid-column: 1/-1;
        justify-self: baseline;
        background: var(--menu-mobile-bg);
        border-radius: 0;
        height: 160px;
        box-shadow: var(--menu-mobile-shadow);
        transform: translate3d(0px, -170px, 0px);
        overflow: hidden;
        box-sizing: border-box;
        backdrop-filter: blur(5px);
    }

    .open {
        transform: translate3d(0px, 0px, 0px) !important;
    }

    menu#basic a {
        /* border-radius: 0 !important; */
        box-shadow: var(--menu-mobile-line-a);
        box-sizing: border-box;
        /* width: 100%; */
    }

    menu#basic a.login:hover {
        box-shadow: none;
        background: none;
        text-shadow: -1px -1px 0 #000, .1px .1px 0 #ffffff2b;
    }

    menu#basic li {
        padding: 0 20px;
        /* max-width: 100%; */
    }

    menu#basic a.login {
        box-shadow: none;
        background: none;
        backdrop-filter: none;
    }

    h1 {
        grid-area: head;
        justify-self: center;
        /* margin: 0; */
        /* color: var(--font-color); */
    }

    header.main-header ul {
        justify-self: center;
    }

    footer.main-footer div.contactus {
        display: flex;
        flex-direction: column;
    }

}

@media screen and (max-width: 600px) {

    html {
        font-size: 15px;
    }

    h1 {
        margin: 0;
        font-size: 30px;
        line-height: 50px;
    }

    header.main-header ul {
        margin-left: 125px;
        margin-top: -1px;
        font-size: 10px;
    }

    header.main-header ul li {
        margin-right: 5px;
    }

    footer.main-footer {
        grid-template-columns: 1fr;
        row-gap: 10px;
    }

    footer.main-footer .buts {
        display: flex;
        margin: auto;
        width: 100%;
    }

    footer.main-footer input {
        margin: auto;
        width: 100%;
    }

    #emblem {
        margin-left: -177px;
        margin-top: -103px;
        transform: scale(0.4);
    }
}

@media screen and (max-width: 450px) {
    body {
        grid-template-rows: 112px 1fr var(--footer-size);
    }

    header.main-header {
        grid-template-rows: 0 90px 50px;
        grid-auto-columns: 100px 1fr;
    }

    #emblem {
        margin-left: -165px;
        margin-top: -110px;
        transform: scale(0.40) !important;
    }

    #colorScheme,
    #openMenu {
        align-self: center;
    }

    #colorScheme {
        margin-top: 22px;
    }

    header.main-header ul,
    h1 {
        display: none;
    }
}