This commit is contained in:
2025-12-01 00:11:20 +07:00
parent db3a515aaa
commit 7fb037d155
46 changed files with 871 additions and 411 deletions

2
icons

Submodule icons updated: cdce71a3d7...d6a92fc4bf

View File

@@ -28,13 +28,13 @@ import("../modules/womb3-simplex.mjs").then((module) => {
// Initializing the process registers // Initializing the process registers
let offset = 0; let offset = 0;
let speed = 0.003; let speed = 0.01;
// Starting the process // Starting the process
setInterval(function () { setInterval(function () {
womb.dump(); womb.dump();
womb.generate((offset += speed), '#000'); womb.generate((offset += speed), '#000');
}, 20); }, 60);
// Initializing the resizing event processor // Initializing the resizing event processor
window.addEventListener( window.addEventListener(

View File

@@ -1,7 +1,7 @@
@charset "UTF-8"; @charset "UTF-8";
aside { aside {
&:not(:has(*)) { &:not(:has(*)) {
display: none; display: none;
} }
} }

View File

@@ -1,61 +0,0 @@
section#description {
padding-top: 1.5rem;
gap: 1rem;
> p {
margin: unset;
width: var(--width);
font-family: "Cascadia Code";
font-weight: 300;
font-size: 0.8rem;
> span {
font-weight: 400;
}
+ small {
font-family: "Bahnschrift";
font-weight: 100;
}
}
> div.lists {
margin-top: 1rem;
display: flex;
width: var(--width);
> ul {
margin: unset;
padding: unset;
display: flex;
flex-direction: column;
gap: 0.4em;
font-family: "Bahnschrift";
font-size: 0.7rem;
font-weight: 300;
list-style: none;
&:is(.bad) {
width: 45%;
}
&:is(.good) {
margin-left: auto;
width: 70%;
> li {
gap: 0.4em;
> i.icon.check {
min-width: var(--width);
}
}
}
> li {
display: inline-flex;
align-items: center;
}
}
}
}

View File

@@ -1,3 +1,5 @@
@charset "UTF-8";
.advantages { .advantages {
margin: 0 auto; margin: 0 auto;

View File

@@ -0,0 +1,54 @@
@charset "UTF-8";
section#company {
justify-self: end;
width: 160px;
padding: 1rem;
padding-bottom: unset;
display: flex;
flex-direction: column;
gap: 0.5rem;
font-family: "Bahnschrift";
> h4.name {
margin: unset;
display: block;
text-align: right;
font-weight: 600;
font-size: 1rem;
}
> p.column {
margin: unset;
display: inline-flex;
flex-direction: column;
text-align: right;
gap: 0.2em;
font-size: 0.8rem;
color: grey;
> span.row {
display: inline-flex;
justify-content: end;
font-weight: 400;
&:before {
margin-right: auto;
font-weight: 600;
color: #fff;
}
}
> span.tax {
&:before {
content: var(--company-tax) ":";
}
}
> span.identifier {
&:before {
content: var(--company-identifier) ":";
}
}
}
}

View File

@@ -0,0 +1,54 @@
@charset "UTF-8";
section#cookies {
--shadow: 4px 4px 10px 0px rgb(0 0 0 / 45%);
z-index: 3100;
right: var(--fixed-right, 2rem);
bottom: var(--fixed-bottom, 2rem);
position: fixed;
font-family: "Bahnschrift";
/* border: 1px solid #a8a8a847; */
border: 1px solid #fff;
/* border-right: unset;
border-bottom: unset; */
border-radius: 0.75rem;
color: #fff;
background-color: #000000b8;
background-color: #000000;
/* backdrop-filter: blur(3px); */
box-shadow: var(--shadow);
-webkit-box-shadow: var(--shadow);
-moz-box-shadow: var(--shadow);
transition: opacity 0.1s ease-out;
> div {
padding: 0.8rem 1.2rem 0.7rem;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
> p {
margin: unset;
font-size: 1rem;
}
> small {
font-size: 0.8rem;
font-weight: 200;
color: #a6a69d;
}
}
> button {
top: -0.4rem;
right: -2rem;
position: absolute;
padding: unset;
padding-right: 0.1em;
cursor: pointer;
border: unset;
color: #f00;
background: unset;
}
}

View File

@@ -0,0 +1,70 @@
@charset "UTF-8";
section#cookies {
--shadow: 4px 4px 10px 0px rgb(0 0 0 / 45%);
z-index: var(--cookies-z-index, 6000);
right: var(--cookies-right, 2rem);
bottom: var(--cookies-bottom, 2rem);
position: fixed;
width: var(--cookies-width, 400px);
height: var(--cookies-height, 40px);
/* padding: 0.8rem 1.2rem 0.7rem; */
font-family: "Bahnschrift";
color: #fff;
transition: opacity 0.1s ease-out;
:is(> label[for="cookies"]:focus) {
opacity: 0;
}
+ div.cookies.background {
z-index: calc(var(--cookies-z-index, 6000) - 1);
right: var(--cookies-right, 2rem);
bottom: var(--cookies-bottom, 2rem);
position: fixed;
width: var(--cookies-width, 400px);
height: var(--cookies-height, 40px);
border: 1px solid #a8a8a847;
border-right: unset;
border-bottom: unset;
border-radius: 0.75rem;
background-color: #33323691;
backdrop-filter: blur(3px);
mix-blend-mode: screen;
box-shadow: var(--shadow);
-webkit-box-shadow: var(--shadow);
-moz-box-shadow: var(--shadow);
}
> div {
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
> p {
margin: unset;
font-size: 1rem;
}
> small {
font-size: 0.8rem;
font-weight: 200;
color: #a6a69d;
}
}
> label {
right: -20px;
top: -20px;
position: absolute;
padding: unset;
padding-right: 0.1em;
cursor: pointer;
border: unset;
color: #f00;
background: unset;
}
}

View File

@@ -0,0 +1,94 @@
@charset "UTF-8";
section#description {
padding-top: 1.5rem;
gap: 1rem;
> p {
margin: unset;
width: var(--width);
font-family: "Cascadia Code";
font-weight: 300;
font-size: 0.8rem;
> span {
font-weight: 400;
}
+ small {
font-family: "Bahnschrift";
font-weight: 100;
}
}
> ul.table {
/* --border-color: #000; */
--border-color: unset;
margin: unset;
margin-top: 1rem;
width: var(--width);
padding: unset;
display: flex;
flex-direction: column;
font-family: "Bahnschrift";
font-size: 0.8rem;
font-weight: 400;
list-style: none;
overflow: hidden;
border-radius: 0.75rem;
border: 1px solid var(--border-color);
> li {
height: 3rem;
display: flex;
border-bottom: 1px dashed var(--border-color);
&:is(:last-of-type) {
border-bottom: unset;
}
> span {
padding: 0.25rem 0.45rem;
display: inline;
align-content: center;
&:is(.bad) {
width: 45%;
opacity: 0.6;
border-right: 1px solid var(--border-color);
/* background-color: #ffe1e1; */
> i.icon.close {
margin-top: -0.4em;
color: #c64d4d;
}
}
&:is(.good) {
width: 70%;
/* background-color: #e0ffd5; */
> i.icon.check {
min-width: var(--width);
color: #77b81b;
}
}
> i.icon {
float: left;
height: 100%;
}
}
}
}
> strong.partners {
font-family: "Geologica";
font-weight: 400;
font-size: 1.2rem;
> span {
color: #1e1df2;
}
}
}

View File

@@ -1,9 +1,19 @@
@charset "UTF-8";
section#introdution { section#introdution {
position: relative; position: relative;
width: 100%; width: 100%;
height: min(350px, 35vh); height: var(--introdution-height, 350px);
overflow: hidden; overflow: hidden;
+ section.row {
--shadow: 0px -10px 60px 30px rgba(0, 0, 0, 0.6);
padding-top: 1rem;
box-shadow: var(--shadow);
-webkit-box-shadow: var(--shadow);
-moz-box-shadow: var(--shadow);
}
> div.information { > div.information {
z-index: 200; z-index: 200;
position: fixed; position: fixed;
@@ -30,7 +40,7 @@ section#introdution {
backdrop-filter: blur(1.3px); backdrop-filter: blur(1.3px);
> i.icon.code { > i.icon.code {
margin-bottom: 3px; margin-bottom: 3px;
} }
} }
@@ -42,6 +52,9 @@ section#introdution {
font-size: 2.6rem; font-size: 2.6rem;
font-weight: 400; font-weight: 400;
color: #fff; color: #fff;
text-shadow:
0px 0px 4px #ffffff,
0px 0px 9px #ffffff96;
} }
> p#team { > p#team {
@@ -85,6 +98,10 @@ section#introdution {
position: absolute; position: absolute;
width: 110%; width: 110%;
height: 110%; height: 110%;
animation-name: appearance;
animation-fill-mode: forwards;
animation-duration: 0.2s;
animation-timing-function: ease-in;
filter: blur(1.8px) contrast(50); filter: blur(1.8px) contrast(50);
> div.dots { > div.dots {
@@ -110,7 +127,7 @@ section#introdution {
center / var(--dot-space) var(--dot-space), center / var(--dot-space) var(--dot-space),
var(--dot-color); var(--dot-color);
mix-blend-mode: color-burn; mix-blend-mode: color-burn;
/* filter: blur(1px); */ filter: contrast(5);
} }
> video:only-of-type { > video:only-of-type {
@@ -133,3 +150,13 @@ section#introdution {
} }
} }
} }
@keyframes appearance {
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}

View File

@@ -0,0 +1,27 @@
@charset "UTF-8";
nav#links {
flex-grow: 1;
display: inline-flex;
justify-content: center;
gap: 1rem;
> a {
text-decoration: none;
font-family: "Geologica";
font-weight: 400;
font-size: 0.85rem;
color: #807f7f;
transition: color 0.1s ease-out;
&:is(:hover, :focus) {
color: #d5d5d5;
transition: color 0s;
}
&:active {
color: #4b4b4b;
transition: color 0s;
}
}
}

View File

@@ -0,0 +1,41 @@
@charset "UTF-8";
section#office {
display: flex;
height: 100%;
> div.map {
width: 250px;
height: 100%;
overflow: hidden;
border-radius: 0.75rem;
border: 1px solid #fff;
background-color: #0c110c;
> div.loading {
width: 100%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
filter: brigtless(0.8) blur(1px);
&:before {
margin-top: 50px;
position: absolute;
content: var(--map-loading, "Loading");
width: max-content;
text-align: center;
font-family: "Geologica";
font-style: normal;
font-weight: 400;
font-size: 0.6rem;
color: #533a3a;
}
> i.icon.loading.spinner {
color: #fff;
}
}
}
}

View File

@@ -1,7 +1,11 @@
@charset "UTF-8";
section#projects { section#projects {
padding-top: 2.5rem; padding-top: 2.5rem;
padding-bottom: 1rem;
/* transform: rotate3d(220, -777, -100, 385deg) scale(1.1); */
>h2.title { > h2.title {
font-size: 2.4rem; font-size: 2.4rem;
font-family: "Bahnschrift"; font-family: "Bahnschrift";
margin: 0.1em 0 0.2em 0; margin: 0.1em 0 0.2em 0;
@@ -45,20 +49,20 @@ section#projects {
} }
&:is(.pechatalka) { &:is(.pechatalka) {
>img.background { > img.background {
filter: blur(1.5px) brightness(0.8); filter: blur(1.5px) brightness(0.8);
} }
} }
&:is(.understyle) { &:is(.understyle) {
>img.background { > img.background {
object-position: bottom; object-position: bottom;
filter: blur(1px) brightness(0.8); filter: blur(1px) brightness(0.8);
} }
} }
&:is(.surikov) { &:is(.surikov) {
>img.background { > img.background {
object-position: bottom; object-position: bottom;
filter: blur(0.4px) brightness(0.8); filter: blur(0.4px) brightness(0.8);
} }

View File

@@ -1,3 +1,5 @@
@charset "UTF-8";
section#services { section#services {
margin: unset; margin: unset;
display: flex; display: flex;

View File

@@ -1,5 +1,7 @@
section#statistics { @charset "UTF-8";
> div.row {
section#shortcut {
> div {
width: var(--width); width: var(--width);
display: flex; display: flex;
flex-direction: row; flex-direction: row;
@@ -8,18 +10,22 @@ section#statistics {
> div.column { > div.column {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
flex-grow: 1;
&:is(.statistics) { &:is(.statistics) {
width: 300px; width: 300px;
> p { > p {
margin: unset; margin: unset;
margin-top: 0.8rem;
display: flex; display: flex;
gap: 0.4rem; gap: 0.4rem;
font-family: "Cascadia Code"; font-family: "Cascadia Code";
font-weight: 600; font-weight: 600;
&:is(:first-of-type) {
margin-top: unset;
}
> span { > span {
font-weight: 400; font-weight: 400;
} }

View File

@@ -0,0 +1,76 @@
@charset "UTF-8";
section#telegram {
--diameter: var(--telegram-diameter, 50px);
z-index: 3000;
bottom: var(--fixed-bottom);
left: var(--fixed-left);
position: fixed;
width: var(--diameter);
height: var(--diameter);
display: flex;
justify-content: center;
align-items: center;
> a {
z-index: 200;
width: 100%;
height: 100%;
border-radius: 100%;
box-shadow: 0px 0px 8px 0px rgb(0 0 0 / 30%);
transition: scale 0.1s ease-out;
&:is(:hover, :focus) {
scale: 1.05;
transition: scale 0.1s ease-in;
}
&:active {
scale: 1;
filter: brightness(0.8);
transition: scale 0s;
}
> img {
width: 100%;
height: 100%;
}
}
> div {
--half: calc(var(--telegram-diameter, 0) / 2);
--border-radius: 10rem;
--gap: 1rem;
--border: 1px;
z-index: 100;
left: var(--half);
position: absolute;
width: max-content;
height: 100%;
box-sizing: border-box;
padding-right: 2rem;
padding-left: calc(var(--half, 0) + var(--gap, 1rem));
display: flex;
flex-direction: column;
justify-content: center;
font-family: "Bahnschrift";
border-radius: 0 var(--border-radius) var(--border-radius) 0;
border: var(--border, 1px) solid #ded9fae6;
border-bottom: unset;
background-color: #c0bcd6cc;
backdrop-filter: blur(2px);
> span {
font-size: 1.2rem;
font-weight: 400;
color: #09394e;
}
> small {
margin-top: -0.2em;
font-size: 0.8rem;
font-weight: 400;
color: #415970;
}
}
}

View File

@@ -1,14 +1,12 @@
@charset "UTF-8";
section#workload { section#workload {
--shadow: 0px -10px 60px 30px rgba(0, 0, 0, 0.6); height: 80px;
height: 100px; padding-top: unset !important;
box-sizing: border-box;
padding-bottom: 1rem; padding-bottom: 1rem;
display: inline-flex; display: inline-flex;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
box-shadow: var(--shadow);
-webkit-box-shadow: var(--shadow);
-moz-box-shadow: var(--shadow);
> p { > p {
margin: unset; margin: unset;

View File

@@ -1,42 +1,28 @@
@charset "UTF-8"; @charset "UTF-8";
footer { footer {
box-sizing: border-box; z-index: 4000;
padding: 0 20%; position: relative;
display: flex; height: var(--footer-height, 200px);
flex-direction: column; padding: 1rem 10vw;
justify-content: center; display: flex;
text-align: center; align-items: self-end;
gap: 0.5rem; color: #fff;
margin: 2rem 0 1rem 0; background-color: #000;
--shadow: 0px 0px 80px 25px rgba(0, 0, 0, 0.4);
box-shadow: var(--shadow);
-webkit-box-shadow: var(--shadow);
-moz-box-shadow: var(--shadow);
&:not(:has(*)) { > div.column {
display: none; height: 100%;
} display: flex;
flex-direction: column;
justify-content: end;
gap: 1rem;
> p#description { &:is(:last-of-type:last-child) {
text-align: center; margin-left: auto;
font-size: 1rem; }
font-family: "Geologica"; }
font-weight: 400;
margin: unset;
color: rgb(0, 0, 0, 0.6);
}
> div#link {
display: inline-flex;
justify-content: center;
gap: 1rem;
> a {
text-decoration: none;
font-size: 1rem;
font-family: "Geologica";
font-weight: 400;
color: rgb(160, 160, 160);
transition: ease 0.2s;
&:hover {
color: #000;
}
}
}
} }

View File

@@ -1,69 +1,75 @@
@charset "UTF-8"; @charset "UTF-8";
header { header {
top: 0; z-index: 1000;
left: 0; top: 0;
position: fixed; left: 0;
width: 100vw; position: absolute;
height: var(--menu-height); width: 100vw;
box-sizing: border-box; height: calc(var(--menu-height) + var(--introdution-height));
padding: 0 20%; pointer-events: none;
display: flex;
justify-content: space-between;
align-items: center; > div {
background-color: #f7fafc; top: 0;
z-index: 1000; position: sticky;
width: 100%;
height: var(--menu-height);
box-sizing: border-box;
padding: 0 20%;
display: flex;
justify-content: space-between;
align-items: center;
pointer-events: all;
background-color: #fff;
&:not(:has(*)) { &:not(:has(*)) {
display: none; display: none;
} }
> a#logotype { > a#logotype {
margin-top: -0.4rem; margin-top: -0.4rem;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
font-size: 1.1rem; font-size: 1.1rem;
text-decoration: none; text-decoration: none;
color: #000; color: #000;
> h4:only-of-type:first-child { > h4:only-of-type:first-child {
margin: unset; margin: unset;
font-family: "Cascadia Code"; font-family: "Cascadia Code";
font-size: 2.5em; font-size: 2.5em;
} }
> small:only-of-type:last-child { > small:only-of-type:last-child {
justify-self: end; justify-self: end;
align-self: end; align-self: end;
margin-top: -0.8em; margin-top: -0.8em;
font-family: "Bahnschrift"; font-family: "Bahnschrift";
font-size: 0.62em; font-size: 0.62em;
font-weight: 800; font-weight: 800;
text-transform: uppercase; text-transform: uppercase;
} }
} }
> nav#menu { > nav#menu {
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
gap: 1rem; gap: 1rem;
font-family: "Geologica"; font-family: "Geologica";
> a {
text-decoration: none;
font-weight: 500;
font-size: 1rem;
text-transform: uppercase;
color: rgb(0, 0, 0, 0.5);
transition: ease 0.2s;
&:hover {
color: #000;
}
}
}
> a {
text-decoration: none;
font-weight: 500;
font-size: 1rem;
text-transform: uppercase;
color: rgb(0, 0, 0, 0.5);
transition: ease 0.2s;
&:hover {
color: #000;
}
}
}
}
} }

View File

@@ -6,22 +6,6 @@
@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@900&display=swap"); @import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Geologica:wght@100..900&family=Pochaevsk&display=swap"); @import url("https://fonts.googleapis.com/css2?family=Geologica:wght@100..900&family=Pochaevsk&display=swap");
body {
margin: unset;
/* overflow-x: hidden; */
background-color: #f7fafc;
}
.unselectable {
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
outline: none;
}
main { main {
margin-top: var(--menu-height); margin-top: var(--menu-height);
display: flex; display: flex;
@@ -34,131 +18,4 @@ main {
&:not(:has(*)) { &:not(:has(*)) {
display: none; display: none;
} }
> section {
z-index: 500;
width: 100%;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
background-color: #fff;
> h2#title {
font-size: 2.4rem;
font-family: "Bahnschrift";
margin: 0.1em 0 0.2em 0;
> span {
color: #0ea5e9;
}
}
> p#description {
margin: unset;
text-align: center;
font-size: 1.2rem;
font-family: "Geologica";
font-weight: 400;
color: rgb(0, 0, 0, 0.6);
> span {
color: #0ea5e9;
font-weight: 800;
}
}
> p.description {
width: 40%;
}
> a#order {
padding: 0.5em 1.3em;
margin-top: 1rem;
display: flex;
align-items: center;
gap: 5px;
border-radius: 1.125em;
font-size: 1em;
font-family: "Geologica";
font-weight: 400;
text-decoration: none;
background-color: #0ea5e9;
color: #fff;
transition: 0.2s;
&:hover {
transform: scale(1.05);
}
}
> div#team {
margin-top: 1rem;
display: inline-flex;
justify-content: center;
align-items: center;
gap: 1rem;
> div#card {
padding: 0.6em 0.8em;
width: 180px;
height: 220px;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
text-align: center;
border-radius: 1.125rem;
box-shadow: 0px 0px 15px 0px rgba(14, 165, 233, 0.1);
background-color: #fff;
transition: ease 0.2s;
> img {
object-fit: cover;
width: 140px;
height: 140px;
border-radius: 100%;
}
> p {
margin: 1em 0 0;
font-size: 1.2em;
font-family: "Geologica";
font-weight: 900;
color: #000000;
}
> span {
font-size: 1em;
font-family: "Geologica";
font-weight: 400;
color: #0ea5e9;
}
}
}
> a#telegram {
padding: 0.5em 1.3em;
margin-top: 1rem;
display: flex;
align-items: center;
gap: 5px;
border-radius: 1.125em;
font-size: 1em;
font-family: "Geologica";
font-weight: 400;
text-decoration: none;
background-color: #0ea5e9;
color: #fff;
transition: 0.2s;
&:hover {
transform: scale(1.05);
}
> img {
width: 20px;
height: 20px;
}
}
}
} }

View File

@@ -0,0 +1,130 @@
@charset "UTF-8";
main {
> section.row {
z-index: 500;
width: 100%;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
background-color: #fff;
> h2#title {
font-size: 2.4rem;
font-family: "Bahnschrift";
margin: 0.1em 0 0.2em 0;
> span {
color: #0ea5e9;
}
}
> p#description {
margin: unset;
text-align: center;
font-size: 1.2rem;
font-family: "Geologica";
font-weight: 400;
color: rgb(0, 0, 0, 0.6);
> span {
color: #0ea5e9;
font-weight: 800;
}
}
> p.description {
width: 40%;
}
> a#order {
padding: 0.5em 1.3em;
margin-top: 1rem;
display: flex;
align-items: center;
gap: 5px;
border-radius: 1.125em;
font-size: 1em;
font-family: "Geologica";
font-weight: 400;
text-decoration: none;
background-color: #0ea5e9;
color: #fff;
transition: 0.2s;
&:hover {
transform: scale(1.05);
}
}
> div#team {
margin-top: 1rem;
display: inline-flex;
justify-content: center;
align-items: center;
gap: 1rem;
> div#card {
padding: 0.6em 0.8em;
width: 180px;
height: 220px;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
text-align: center;
border-radius: 1.125rem;
box-shadow: 0px 0px 15px 0px rgba(14, 165, 233, 0.1);
background-color: #fff;
transition: ease 0.2s;
> img {
object-fit: cover;
width: 140px;
height: 140px;
border-radius: 100%;
}
> p {
margin: 1em 0 0;
font-size: 1.2em;
font-family: "Geologica";
font-weight: 900;
color: #000000;
}
> span {
font-size: 1em;
font-family: "Geologica";
font-weight: 400;
color: #0ea5e9;
}
}
}
> a#telegram {
padding: 0.5em 1.3em;
margin-top: 1rem;
display: flex;
align-items: center;
gap: 5px;
border-radius: 1.125em;
font-size: 1em;
font-family: "Geologica";
font-weight: 400;
text-decoration: none;
background-color: #0ea5e9;
color: #fff;
transition: 0.2s;
&:hover {
transform: scale(1.05);
}
> img {
width: 20px;
height: 20px;
}
}
}
}

View File

@@ -1,9 +1,20 @@
@charset "UTF-8"; @charset "UTF-8";
:root { :root {
--width: max(800px, 40vw); --width: max(850px, 45vw);
--menu-height: 70px; --menu-height: 70px;
--introdution-height: min(350px, 35vh);
--gap: min(12px, 1rem); --gap: min(12px, 1rem);
--fixed-right: 3rem;
--fixed-bottom: 2rem;
--fixed-left: 3rem;
--telegram-diameter: 50px;
--cookies-z-index: 6000;
--cookies-right: var(--fixed-right);
--cookies-bottom: var(--fixed-bottom);
--cookies-width: 24rem;
--cookies-height: 4rem;
/* font-family: , system-ui, sans-serif; */ /* font-family: , system-ui, sans-serif; */
font-family: "dejavu"; font-family: "dejavu";
@@ -13,18 +24,12 @@
transition: 0.1s ease-out; transition: 0.1s ease-out;
} }
/* Selection */ body {
::selection { margin: unset;
color: var(--text-selected-color); overflow-x: hidden;
background: var(--text-selected-background-color); background-color: #f7fafc;
} }
::-moz-selection {
color: var(--text-selected-color);
background: var(--text-selected-background-color);
}
.unselectable { .unselectable {
-webkit-touch-callout: none; -webkit-touch-callout: none;
-webkit-user-select: none; -webkit-user-select: none;
@@ -33,4 +38,3 @@
-ms-user-select: none; -ms-user-select: none;
user-select: none; user-select: none;
} }

View File

@@ -1 +1,16 @@
<svg fill="#FFFFFF" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50 50" width="50px" height="50px"><path d="M46.137,6.552c-0.75-0.636-1.928-0.727-3.146-0.238l-0.002,0C41.708,6.828,6.728,21.832,5.304,22.445 c-0.259,0.09-2.521,0.934-2.288,2.814c0.208,1.695,2.026,2.397,2.248,2.478l8.893,3.045c0.59,1.964,2.765,9.21,3.246,10.758 c0.3,0.965,0.789,2.233,1.646,2.494c0.752,0.29,1.5,0.025,1.984-0.355l5.437-5.043l8.777,6.845l0.209,0.125 c0.596,0.264,1.167,0.396,1.712,0.396c0.421,0,0.825-0.079,1.211-0.237c1.315-0.54,1.841-1.793,1.896-1.935l6.556-34.077 C47.231,7.933,46.675,7.007,46.137,6.552z M22,32l-3,8l-3-10l23-17L22,32z"/></svg> <?xml version="1.0" encoding="UTF-8"?>
<svg width="1000px" height="1000px" viewBox="0 0 1000 1000" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 53.2 (72643) - https://sketchapp.com -->
<title>Artboard</title>
<desc>Created with Sketch.</desc>
<defs>
<linearGradient x1="50%" y1="0%" x2="50%" y2="99.2583404%" id="linearGradient-1">
<stop stop-color="#2AABEE" offset="0%"></stop>
<stop stop-color="#229ED9" offset="100%"></stop>
</linearGradient>
</defs>
<g id="Artboard" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<circle id="Oval" fill="url(#linearGradient-1)" cx="500" cy="500" r="500"></circle>
<path d="M226.328419,494.722069 C372.088573,431.216685 469.284839,389.350049 517.917216,369.122161 C656.772535,311.36743 685.625481,301.334815 704.431427,301.003532 C708.567621,300.93067 717.815839,301.955743 723.806446,306.816707 C728.864797,310.92121 730.256552,316.46581 730.922551,320.357329 C731.588551,324.248848 732.417879,333.113828 731.758626,340.040666 C724.234007,419.102486 691.675104,610.964674 675.110982,699.515267 C668.10208,736.984342 654.301336,749.547532 640.940618,750.777006 C611.904684,753.448938 589.856115,731.588035 561.733393,713.153237 C517.726886,684.306416 492.866009,666.349181 450.150074,638.200013 C400.78442,605.66878 432.786119,587.789048 460.919462,558.568563 C468.282091,550.921423 596.21508,434.556479 598.691227,424.000355 C599.00091,422.680135 599.288312,417.758981 596.36474,415.160431 C593.441168,412.561881 589.126229,413.450484 586.012448,414.157198 C581.598758,415.158943 511.297793,461.625274 375.109553,553.556189 C355.154858,567.258623 337.080515,573.934908 320.886524,573.585046 C303.033948,573.199351 268.692754,563.490928 243.163606,555.192408 C211.851067,545.013936 186.964484,539.632504 189.131547,522.346309 C190.260287,513.342589 202.659244,504.134509 226.328419,494.722069 Z" id="Path-3" fill="#FFFFFF"></path>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 631 B

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

@@ -2,7 +2,6 @@
{% endblock %} {% endblock %}
{% block body %} {% block body %}
{% endblock %} {% endblock %}
{% block js %} {% block js %}

View File

@@ -0,0 +1,11 @@
<style>
:root {
--company-identifier: "{{ language.name == 'ru' or true ? 'ОГРН' : 'ID' }}";
--company-tax: "{{ language.name == 'ru' or true ? 'ИНН' : 'TAX' }}";
}
</style>
<section id="company">
<h4 class="name">ИП Мирзаев</h4>
<p class="column"><span class="tax row">271103176488</span><span class="identifier row">322270000004691</span></p>
</section>

View File

@@ -0,0 +1,7 @@
<section id="cookies" class="unselectable">
<div>
<p>ИСПОЛЬЗУЕТСЯ ТЕХНОЛОГИЯ COOKIES</p>
<small>№152-ФЗ «О персональных данных»</small>
</div>
<button onclick="setTimeout(() => this.parentElement.remove(), 200); this.parentElement.style.opacity = 0"><i class="icon close small"></i></button>
</section>

View File

@@ -0,0 +1,7 @@
<nav id="links" class="unselectable">
<a href="/offer">ПУБЛИЧНАЯ ОФЕРТА</a>
<a href="https://ru.wikipedia.org/wiki/WTFPL">ЛИЦЕНЗИЯ</a>
<a href="https://t.me/kodorvan">КОДОРВАНЬ</a>
<a href="https://t.me/blog_mirzaev_sexy">МИРЗАЕВ</a>
<a href="https://git.svoboda.works/kodorvan">РЕПОЗИТОРИЙ</a>
</nav>

View File

@@ -0,0 +1,13 @@
<style>
:root {
--map-loading: "Загрузка карты";
}
</style>
<section id="office">
<div class="map">
<div class="loading">
<i class="icon loading spinner animated"></i>
</div>
</div>
</section>

View File

@@ -0,0 +1,10 @@
<section id="telegram" class="unselectable">
<a href="https://t.me/kodorvan?direct" rel="nofollow">
<img src="themes/default/images/icons/telegram.svg" alt="Telegram logotype icon" ondragstart="return false"/>
</a>
<div>
<span>Конструктор заказа</span>
<small>Получи стоимость за 2 минуты</small>
</div>
</section>

View File

@@ -1,13 +1,18 @@
{% block css %} {% block css %}
<link type="text/css" rel="stylesheet" href="/themes/default/css/elements/company.css" />
<link type="text/css" rel="stylesheet" href="/themes/default/css/elements/links.css" />
<link type="text/css" rel="stylesheet" href="/themes/default/css/elements/office.css" />
{% endblock %} {% endblock %}
{% block body %} {% block body %}
<footer class="unselectable"> <footer>
<p id="description">Профессиональная разработка ваших проектов</p> <div class="column">
<div id="link" class="unselectable" > {% include '/themes/default/elements/office.html' %}
<a href="https://t.me/kodorvan?direct" > КОДОРВАНЬ</a> {% include '/themes/default/elements/links.html' %}
<a href="https://git.svoboda.works/kodorvan">РЕПОЗИТОРИИ</a> </div>
<a href="https://ru.wikipedia.org/wiki/WTFPL">WTFPL</a>
<div class="column">
{% include '/themes/default/elements/company.html' %}
</div> </div>
</footer> </footer>
{% endblock %} {% endblock %}

View File

@@ -1,14 +1,16 @@
{% block css %} {% endblock %} {% block body %} {% block css %} {% endblock %} {% block body %}
<header> <header>
<a href="https://perm.kodorvan.tech" id="logotype" class="unselectable"> <div>
<h4>КОДОРВАНЬ</h4> <a href="https://perm.kodorvan.tech" id="logotype" class="unselectable">
<small>реальных программистов</small> <h4>КОДОРВАНЬ</h4>
</a> <small>реальных программистов</small>
</a>
<nav id="menu" class="unselectable"> <nav id="menu" class="unselectable">
<a href="https://git.svoboda.works/kodorvan">Проекты</a> <a href="https://git.svoboda.works/kodorvan">Проекты</a>
<a href="#contacts">Контакты</a> <a href="#contacts">Контакты</a>
<a href="#services">Услуги</a> <a href="#services">Услуги</a>
</nav> </nav>
</div>
</header> </header>
{% endblock %} {% block js %} {% endblock %} {% endblock %} {% block js %} {% endblock %}

View File

@@ -16,7 +16,7 @@
<main> <main>
{% block main %} {% block main %}
{{main|raw}} {{ main|raw }}
{% endblock %} {% endblock %}
</main> </main>

View File

@@ -1,26 +0,0 @@
<section id="description">
<p class="unselectable"><strong>Создание сайта</strong>, <strong>разработка чат-бота телеграм</strong>, <strong>написание парсера</strong>, <strong>подключение воронки</strong>, а так же разработка любой сложности калькулятора, интернет-магазина (маркетплейса) и полноценной CRM с нуля <strong>в Перми</strong></p>
<ul class="table unselectable">
<li>
<span class="bad"><i class="icon close small"></i>Не копируем проекты по шаблонам</span>
<span class="good"><i class="icon check small"></i>Пишем код с нуля и используем наши уникальные технологии, проверенные годами практики и имеющие реальные преимущества</span>
</li>
<li>
<span class="bad"><i class="icon close small"></i>Не перепродаём проекты другим заказчикам</span>
<span class="good"><i class="icon check small"></i>Репозиторий и код проекта полностью передаётся заказчику либо под нашу репутацию, либо под патент или договор о неразглашении (NDA)</span>
</li>
<li>
<span class="bad"><i class="icon close small"></i>Не навязываем дополнительные услуги</span>
<span class="good"><i class="icon check small"></i>Бесплатный сервер на время разработки и бесплатная установка на сервер заказчика, либо реально выгодная аренда сервера у нас по самой низкой цене на рынке и максимально эффективной техподдержкой с бесплатными бекапами и оперативной установкой критических обновлений безопасности</span>
</li>
<li>
<span class="bad"><i class="icon close small"></i>Не создаём зависимость от нашей команды</span>
<span class="good"><i class="icon check small"></i>Глубоко документируем код, пишем инструкции и вики-страницы в репозитории на английском языке для длительной поддержки проекта, либо комфортной передачи другим разработчикам</span>
</li>
<li>
<span class="bad"><i class="icon close small"></i>Не вводим в заблуждение сложной терминологией</span>
<span class="good"><i class="icon check small"></i>Процесс работы можно наблюдать ежечасно в реальном времени на нашем сайте, чтобы убедиться, что программисты и дизайнеры реально отрабатывают поставленную им задачу</span>
</li>
</ul>
</section>

View File

@@ -1,10 +0,0 @@
<section id="statistics">
<div class="row">
<div class="statistics column">
<p>Репозитории:<span>{{ projects ?? 97 }}</span></p>
<small>Наши разработки + проекты заказчиков</small>
</div>
<div class="office column"></div>
</div>
</section>

View File

@@ -1,4 +0,0 @@
<section id="workload" class="unselectable">
<p class=""><i class="icon coffe"></i>Загруженность команды: <span class="{{ workload < 51 ? 'small' : (workload < 71 ? 'medium' : 'heavy')}}">{{ workload }}%<small>Обновлено 5 минут назад</small></span></p>
</section>

View File

@@ -1,4 +1,4 @@
<section id="contacts" class="container unselectable"> <section id="contacts" class="row unselectable">
<h2 id="title">Связатьcя с нами</h2> <h2 id="title">Связатьcя с нами</h2>
<p id="description">Готовы обсудить ваш проект? Напишите нам!</p> <p id="description">Готовы обсудить ваш проект? Напишите нам!</p>

View File

@@ -0,0 +1,30 @@
<section id="description" class="row">
<p class="unselectable"><strong>Создание сайта</strong>, <strong>разработка чат-бота телеграм</strong>, <strong>написание парсера</strong>, <strong>подключение воронки</strong>, а так же разработка любой сложности калькулятора, интернет-магазина (маркетплейса) и полноценной CRM с нуля <strong>в Перми</strong></p>
<ul class="table unselectable">
<li>
<span class="bad"><i class="icon close small"></i>Не копируем проекты по шаблонам</span>
<span class="good"><i class="icon check small"></i><strong>Пишем код с нуля</strong> с использованием наших <strong>уникальных технологий</strong>, которые позволяют сокращать сроки разработки и преумножить качество проекта</span>
</li>
<li>
<span class="bad"><i class="icon close small"></i>Не перепродаём проекты другим заказчикам</span>
<span class="good"><i class="icon check small"></i><strong>Репозиторий и код проекта полностью передаются заказчику</strong> под нашу публичную репутацию, либо под патент или договор о неразглашении (NDA)</span>
</li>
<li>
<span class="bad"><i class="icon close small"></i>Не навязываем дополнительные услуги</span>
<span class="good"><i class="icon check small"></i><strong>Бесплатный сервер</strong> на время разработки, <strong>бесплатная установка на сервер заказчика</strong> и <strong>бесплатная техподдержка</strong></span>
</li>
<li>
<span class="bad"><i class="icon close small"></i>Не создаём зависимость от нашей команды</span>
<span class="good"><i class="icon check small"></i>Документируем код, пишем инструкции и разрабатываем систему вики-страниц на английском языке для <strong>длительной поддержки проекта</strong></span>
</li>
<li>
<span class="bad"><i class="icon close small"></i>Не вводим в заблуждение сложной терминологией</span>
<span class="good"><i class="icon check small"></i>Процесс работы можно наблюдать в реальном времени на нашем сайте, чтобы убедиться, что <strong>мы честно отрабатываем поставленную задачу</strong></span>
</li>
</ul>
<strong class="partners">Мы мотивированы сотрудничать на <span>постоянной основе</span>, поэтому <span>работаем на результат</span></strong>
</section>
<!-- , либо реально выгодная аренда сервера у нас по самой низкой цене на рынке и максимально эффективной техподдержкой с бесплатными бекапами и оперативной установкой критических обновлений безопасности -->

View File

@@ -1,4 +1,4 @@
<section id="introdution" class="container"> <section id="introdution" class="row">
<div class="information"> <div class="information">
<span id="label"> <span id="label">
<i class="icon code slash"></i> <i class="icon code slash"></i>
@@ -10,7 +10,7 @@
<p id="team" class="unselectable"><b>Чистый код</b>, реальные сроки и собственные сервера в <strong>Перми</strong><br />по <b>честной цене</b> и с <b>вечной техподдержкой</b></p> <p id="team" class="unselectable"><b>Чистый код</b>, реальные сроки и собственные сервера в <strong>Перми</strong><br />по <b>честной цене</b> и с <b>вечной техподдержкой</b></p>
</div> </div>
<div class="background"> <div class="background" style="opacity: 0">
<div class="dots"></div> <div class="dots"></div>
<canvas id="introdution_animation"></canvas> <canvas id="introdution_animation"></canvas>

View File

@@ -1,4 +1,4 @@
<section id="projects" class="container unselectable"> <section id="projects" class="row unselectable">
<div id="wrap" class="hotline unselectable"> <div id="wrap" class="hotline unselectable">
<article class="pechatalka"> <article class="pechatalka">
<h4>ПЕЧАТАЛКА</h4> <h4>ПЕЧАТАЛКА</h4>

View File

@@ -0,0 +1,2 @@
<section id="server" class="row">
</section>

View File

@@ -0,0 +1,11 @@
<section id="shortcut" class="row">
<div class="row">
<div class="statistics column">
<p>Репозитории:<span>{{ projects ?? 98 }}</span></p>
<small class="unselectable">Наши разработки + проекты заказчиков</small>
<p>Просмотры:<span>{{ month ?? '304 258' }}</span></p>
<small class="unselectable">За последние 30 дней</small>
</div>
</div>
</section>

View File

@@ -0,0 +1,3 @@
<section id="workload" class="row">
<p><i class="icon coffe"></i>Загруженность команды: <span class="{{ workload < 51 ? 'small' : (workload < 71 ? 'medium' : 'heavy')}}">{{ workload }}%<small class="unselectable">Обновлено 5 минут назад</small></span></p>
</section>

View File

@@ -1,34 +1,42 @@
{% extends "/themes/default/index.html" %} {% extends "/themes/default/index.html" %}
{% block css %} {% block css %}
{{ parent() }}
<link type="text/css" rel="stylesheet" href="/css/icons/code_slash.css" /> <link type="text/css" rel="stylesheet" href="/css/icons/code_slash.css" />
<link type="text/css" rel="stylesheet" href="/css/icons/coffe.css" /> <link type="text/css" rel="stylesheet" href="/css/icons/coffe.css" />
<link type="text/css" rel="stylesheet" href="/css/icons/telegram.css" /> <link type="text/css" rel="stylesheet" href="/css/icons/telegram.css" />
<link type="text/css" rel="stylesheet" href="/css/icons/close.css" /> <link type="text/css" rel="stylesheet" href="/css/icons/close.css" />
<link type="text/css" rel="stylesheet" href="/css/icons/check.css" /> <link type="text/css" rel="stylesheet" href="/css/icons/check.css" />
<link type="text/css" rel="stylesheet" href="/themes/default/css/blocks/introdution.css" /> <link type="text/css" rel="stylesheet" href="/css/icons/eye.css" />
<link type="text/css" rel="stylesheet" href="/themes/default/css/blocks/workload.css" /> <link type="text/css" rel="stylesheet" href="/css/icons/loading_spinner.css" />
<link type="text/css" rel="stylesheet" href="/themes/default/css/blocks/statistics.css" /> <link type="text/css" rel="stylesheet" href="/css/icons/close.css" />
<link type="text/css" rel="stylesheet" href="/themes/default/css/blocks/description.css" /> <link type="text/css" rel="stylesheet" href="/themes/default/css/pages/index.css" />
<link type="text/css" rel="stylesheet" href="/themes/default/css/blocks/projects.css" /> <link type="text/css" rel="stylesheet" href="/themes/default/css/elements/introdution.css" />
<link type="text/css" rel="stylesheet" href="/themes/default/css/blocks/service.css" /> <link type="text/css" rel="stylesheet" href="/themes/default/css/elements/shortcut.css" />
<link type="text/css" rel="stylesheet" href="/themes/default/css/blocks/advantages.css" /> <link type="text/css" rel="stylesheet" href="/themes/default/css/elements/description.css" />
<link type="text/css" rel="stylesheet" href="/themes/default/css/elements/projects.css" />
<link type="text/css" rel="stylesheet" href="/themes/default/css/elements/service.css" />
<link type="text/css" rel="stylesheet" href="/themes/default/css/elements/advantages.css" />
<link type="text/css" rel="stylesheet" href="/themes/default/css/elements/advantages.css" />
<link type="text/css" rel="stylesheet" href="/themes/default/css/elements/telegram.css" />
<link type="text/css" rel="stylesheet" href="/themes/default/css/elements/workload.css" />
<link type="text/css" rel="stylesheet" href="/themes/default/css/elements/cookies.css" />
{% endblock %} {% endblock %}
{% block main %} {% block main %}
{% include '/themes/default/main/blocks/introdution.html' %} {% include '/themes/default/main/elements/introdution.html' %}
{% include '/themes/default/main/blocks/workload.html' %} {% include '/themes/default/main/elements/workload.html' %}
{% include '/themes/default/main/blocks/statistics.html' %} {% include '/themes/default/main/elements/shortcut.html' %}
{% include '/themes/default/main/blocks/description.html' %} {% include '/themes/default/main/elements/description.html' %}
{% include '/themes/default/main/blocks/projects.html' %} {% include '/themes/default/main/elements/projects.html' %}
{% include '/themes/default/main/blocks/service.html' %} {% include '/themes/default/main/elements/server.html' %}
{% include '/themes/default/main/blocks/advantages.html' %}
{% include '/themes/default/main/blocks/comand.html' %}
{% include '/themes/default/main/blocks/contacts.html' %} {% include '/themes/default/elements/telegram.html' %}
{% include '/themes/default/elements/cookies.html' %}
{% endblock %} {% endblock %}
{% block js %} {% block js %}
{{ parent() }}
<script src="/js/modules/hotline.mjs" type="module"></script> <script src="/js/modules/hotline.mjs" type="module"></script>
<script src="/js/modules/womb3-simplex.mjs" type="module"></script> <script src="/js/modules/womb3-simplex.mjs" type="module"></script>
<script src="/js/pages/main.js" defer></script> <script src="/js/pages/main.js" defer></script>