.line {
    margin: 0;
    padding: 0;
    background: linear-gradient( 60deg, hsl(78, 67%, 83%), hsl(199, 100%, 78%), hsl(0, 0%, 91%));
    background-size: 100% 100%;
    background-position: 0 50%;
    animation: moveGradient 5s alternate infinite;
}

.page_parent {
    margin: 0;
    position: relative;
    min-height: 100vh;
    width: 100%;
    left: 0;
    right: 0;
}

.page {
    display: flex;
    margin: 0;
    padding: 0;
    margin-left: auto;
    margin-right: auto;
    max-width: 1000px;
    flex-direction: column;
    align-items: center;
}

.page_content {
    padding: 0;
    width: calc(100% - 40px);
    margin: 0px 20px;
    border: 0px;
    cursor: default;
}

.main {
    padding: 200;
    width: calc(100% - 40px);
    margin: 0px 20px;
    border: 0px;
    cursor: default;
}

.footer {
    position: absolute;
    bottom: 0;
    width: 100%;
    height: auto;
}

.page_left {
    margin: 0;
    padding: 0;
    display: inline-block;
    list-style: none;
    border: 0px;
}

.page_right {
    margin: 0;
    padding: 0;
    display: inline-block;
    list-style: none;
    border: 0px;
}

.upline {
    background-color: rgb(255, 255, 255);
    border-radius: 6px;
}

.upbutton {
    display: inline-flex;
    float: center;
    margin: 0px;
    margin-top: 10px;
    align-items: center;
    text-align: center;
}

.product {
    border: 1px solid rgba(0, 0, 0, 0.1);
    cursor: alias;
    margin: 8px;
}

.product:hover {
    border: 1px solid black;
    margin: 8px;
}

.product2 {
    border: 1px solid rgba(0, 0, 0, 0.1);
}

.overlay {
    width: 100%;
    height: 100%;
    margin-top: -10%;
}

.button1 {
    background-color: rgb(93, 140, 232);
    border: 0px solid #a3a3a3;
    border-radius: 6px;
    color: black;
    padding: 10px 20px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    cursor: pointer;
    font-weight: none;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 2px 4px rgba(0, 0, 0, 0.2), 0 3px 8px rgba(0, 0, 0, 0.2), 0 4px 8px rgba(0, 0, 0, 0.2), 0 5px 8px rgba(0, 0, 0, 0.2);
    -webkit-transition: background-color 200ms ease-out;
    -moz-transition: background-color 200ms ease-out;
    -o-transition: background-color 200ms ease-out;
    transition: background-color 200ms ease-out;
}

.button1:hover {
    background-color: #919191;
    border: 0px solid #a3a3a3;
}

.button2 {
    background-color: rgb(255, 200, 200);
}

.button2:hover {
    background-color: #919191;
}

.lumio {
    background-color: rgba(255, 255, 255, 0.05);
    box-shadow: 0 0px 0px rgba(255, 255, 255, 0);
    margin: 20px;
    padding: 2px;
    border-radius: 10px;
    border: 1px solid #a3a3a300;
    transition: padding 200ms, margin 200ms, box-shadow 200ms;
    transition-timing-function: linear;
}

.lumio:hover {
    margin: 20px;
    padding: 2px;
    border: 1px solid #a3a3a300;
    box-shadow: 0 1px 2px rgba(255, 255, 255, 0.07), 0 2px 4px rgba(240, 250, 255, 0.07), 0 4px 8px rgba(235, 245, 255, 0.07), 0 8px 16px rgba(210, 240, 255, 0.07), 0 16px 32px rgba(200, 235, 255, 0.07), 0 32px 64px rgba(190, 230, 255, 0.07);
}

.select {
    box-shadow: 0 1px 2px rgba(255, 255, 255, 0.1), 0 1px 4px rgba(255, 255, 255, 0.1), 0 1px 8px rgba(255, 255, 255, 0.1), 0 1px 12px rgba(255, 255, 255, 0.1), 0 2px 16px rgba(240, 250, 255, 0.1);
    border: 3px solid rgb(200, 255, 255);
}

.select:hover {
    border: 3px solid rgb(200, 255, 255);
}

.overlay {
    position: fixed;
    display: none;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 10;
    background-color: rgba(0, 0, 0, 0.5);
}

.form {
    bottom: 0;
    top: 0;
    width: 100%;
    left: 0%;
    right: 0%;
    position: fixed;
    overflow-x: hidden;
    margin: 0;
    background-color: #33333300;
    z-index: 11;
    animation-duration: 0.4s;
    transition-duration: 0.4s;
}

.overlayback {
    background-color: #00000033;
    cursor: pointer;
    backdrop-filter: blur(0px);
    -webkit-transition: backdrop-filter 1000ms ease-out;
    -moz-transition: backdrop-filter 1000ms ease-out;
    -o-transition: backdrop-filter 1000ms ease-out;
    transition: backdrop-filter 1000ms ease-out;
}

.overlayback ::-webkit-scrollbar {
    margin-right: -20px;
    background: #000000FF;
}

.dopcolor1 {
    background-color: rgb(33, 33, 33);
}

.text {
    color: #FFFFFF99;
}

.element-animation {
    margin: 2rem 0;
    transform: translateY(25%);
    /* Скроем элемент в начальном состоянии */
    opacity: 0;
}

.element-animation.element-show {
    opacity: 1;
    transition: all 1s;
    transform: translateY(0%);
}

.config {
    transition: max-height, 1s, opacity 1s;
    max-height: 1000px;
    overflow: hidden;
    opacity: 100%;
}

.config.hidden {
    max-height: 0;
    opacity: 0%;
}

.border1 {
    border: 1.5px solid #3366cc;
    border-radius: 6px;
}

hr.bolb {
    margin-top: -7px;
    border: 1.5px solid #3366CC;
}

.bordernone {
    border: 0px solid #a3a3a3;
    outline: none;
}

.bordernone:hover {
    border: 0px solid #a3a3a3;
    outline: none;
}

.bordernone:focus {
    border: 0px solid #a3a3a3;
    outline: none;
}

.grad {
    background: linear-gradient( 0deg, hsl(0, 0%, 100%), hsl(0, 0%, 100%), hsla(0, 0%, 100%, 0.6), hsla(0, 0%, 100%, 0.3), hsla(0, 0%, 100%, 0.1), hsla(0, 0%, 100%, 0));
}

.grad_i {
    background: linear-gradient( 0deg, hsla(0, 0%, 100%, 0), hsla(0, 0%, 100%, 0.1), hsla(0, 0%, 100%, 0.3), hsla(0, 0%, 100%, 0.6), hsl(0, 0%, 100%), hsl(0, 0%, 100%));
}

.store_grid {
    display: flex;
    grid-template-columns: repeat(4, 1fr);
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: start;
    width: auto;
    margin: auto;
    margin-bottom: 20px;
    margin-top: 20px;
    align-content: center;
    align-items: center;
    align-self: center;
}

.slider_content {
    transition: max-height, 0.3s, opacity 0.3s;
    max-width: 100%;
    overflow: hidden;
    opacity: 100%;
}

.slider_content.hidden {
    max-width: 0;
    opacity: 100%;
}

.product3 {
    border: 1px solid rgba(0, 0, 0, 0.1);
    scale: 1;
    -webkit-transition: scale 200ms ease-out;
    -moz-transition: scale 200ms ease-out;
    -o-transition: scale 200ms ease-out;
    transition: scale 200ms ease-out;
    cursor: pointer;
}

.contact_foto {
    margin: 10px 10px;
    border-radius: 15px;
    object-fit: cover;
    scale: 1;
    box-shadow: 0 1px 2px rgba(255, 255, 255, 0.07), 0 2px 4px rgba(240, 250, 255, 0.07), 0 4px 8px rgba(235, 245, 255, 0.07), 0 8px 16px rgba(210, 240, 255, 0.07), 0 16px 32px rgba(200, 235, 255, 0.07), 0 32px 64px rgba(190, 230, 255, 0.07);
    -webkit-transition: scale 200ms ease-out;
    -moz-transition: scale 200ms ease-out;
    -o-transition: scale 200ms ease-out;
    transition: scale 200ms ease-out;
}

.contact_foto:hover {
    scale: 1.1;
}

@property --myColor1 {
    syntax: '<color>';
    initial-value: #7700cc00;
    inherits: false;
}

@property --myColor2 {
    syntax: '<color>';
    initial-value: #7700cc00;
    inherits: false;
}

@property --myColor3 {
    syntax: '<color>';
    initial-value: #7700cc00;
    inherits: false;
}

@property --myColor4 {
    syntax: '<color>';
    initial-value: #7700cc00;
    inherits: false;
}

.service_container {
    margin: 20px 0 20px 0;
    border-radius: 25px;
    width: 304px;
    height: 254px;
    display: flex;
    justify-content: center;
    align-items: center;
    --myColor1: #7700cc00;
    --myColor2: #7700cc00;
    --myColor3: #7700cc00;
    --myColor4: #7700cc00;
    background: linear-gradient(var(--hrot), var(--myColor1) 0%, var(--myColor2) 20%, var(--myColor3) 40%, var(--myColor4) 50%, var(--myColor3) 60%, var(--myColor2) 80%, var(--myColor1) 100%);
    transition: --myColor1 0.5s ease-out, --myColor2 0.5s ease-out, --myColor3 0.5s ease-out, --myColor4 0.5s ease-out;
}

.service_container:before {
    content: "";
    border-radius: 25px;
    position: relative;
    margin-right: -304px;
    min-width: 100%;
    min-height: 100%;
    filter: blur(20px);
    --myColor1: #7700cc00;
    --myColor2: #7700cc00;
    --myColor3: #7700cc00;
    --myColor4: #7700cc00;
    background: linear-gradient(var(--hrot), var(--myColor1) 0%, var(--myColor2) 40%, var(--myColor3) 45%, var(--myColor4) 50%, var(--myColor3) 55%, var(--myColor2) 60%, var(--myColor1) 100%);
    transition: --myColor1 0.5s ease-out, --myColor2 0.5s ease-out, --myColor3 0.5s ease-out, --myColor4 0.5s ease-out;
}

.service {
    width: 300px;
    height: 250px;
    margin: 2px;
    border-radius: 25px;
    box-shadow: 0px 0px 15px #00000099;
}

.tool {
    position: relative;
    border-radius: 25px;
    overflow: hidden;
}

.tool::after {
    border-radius: 25px;
    content: '';
    position: absolute;
    display: flex;
    width: 100%;
    height: 100%;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(to top, #0004 0%, transparent 20%, transparent 80%, #fff4 100%);
}

.scalable {
    scale: 1;
    -webkit-transition: scale 200ms ease-out;
    -moz-transition: scale 200ms ease-out;
    -o-transition: scale 200ms ease-out;
    transition: scale 200ms ease-out;
}

.scalable:hover {
    scale: 1.05;
}

.solution {
    border-radius: 25px;
    position: relative;
    height: 176px;
    width: calc(100% - 20px);
    margin: 10px;
    overflow: hidden;
}

.sol_cont {
    display: flex;
    justify-content: space-around;
    flex-direction: row;
    width: calc(100% + 20px);
}

.sol_div {
    background-size: cover;
    position: absolute;
    width: 100%;
    height: 100%;
    display: flex;
    vertical-align: middle;
    align-items: center;
    flex-direction: column;
    justify-content: space-between;
    text-align: center;
    text-shadow: #000c 0 0 15px;
}
.sol_div.metall{
    border-radius: 25px;
    top: 2px;
    left: 2px;
    width: calc(100% - 4px);
    height:calc(100% - 4px);
    background: linear-gradient( 120deg, #000f 20%, #0005 40%, #0008 50%, transparent 60%);
    background: radial-gradient( farthest-corner at 0 0, #0006 20%, #0003 40%, #0004 60%, transparent 75%);
    background-size: 100% 200%;
    filter: blur(1px);
}


.floating-group {
    position: relative;
    margin-top: 18px;
}

.floating-label {
    position: absolute;
    top: calc(50% - 14px);
    left: 1rem;
    transition: color 200ms ease-out, top 200ms ease-out, font-size 200ms ease-out;
    color: var(--theme-color-1);
    font-size: 16px;

}

textarea:valid+.floating-label {
    top: calc(-1rem - 6px);
    color: var(--theme-color-1);
    font-size: 14px;
}

textarea:focus+.floating-label {
    top: calc(-1rem - 6px);
    color: var(--theme-color-2);
    font-size: 14px;
}

input:valid+.floating-label {
    top: calc(-1rem - 4px);
    color: var(--theme-color-1);
    font-size: 14px;
}

input:focus+.floating-label {
    top: calc(-1rem - 4px);
    color: var(--theme-color-2);
    font-size: 14px;
}

textarea:hover+.floating-label,
input:hover+.floating-label {
    color: var(--theme-color-2);
}