@font-face {
    font-family: 'VCR OSD Mono';
    src: url("../fonts/VCR_OSD_MONO.ttf");
}
@import url('https://fonts.googleapis.com/css2?family=Roboto&display=swap');
:root{
    --lindigo: #5F7DFF;
    --azure: #3ADEF0;
    --lwhite: #ffffffb3;
    --dblue: #090E19;
    --lgrey: #4F4F4F;
}
*{
	padding: 0;
	margin: 0;
	box-sizing: border-box;
}

#cursor {
    position: fixed;
    z-index: 99999;
    left: 0;
    top: 0;
    pointer-events: none;
    will-change: transform;
    mix-blend-mode: hard-light;
}
@media (hover: hover) and (pointer: fine) {
    .cursor__circle {
        width: 50px;
        height: 50px;
        margin-top: -50%;
        margin-left: -50%;
        border-radius: 50%;
        border: solid 1px rgba(227, 222, 193, 0.64);
        filter: blur(2px);
        transition: opacity 0.3s cubic-bezier(0.25, 1, 0.5, 1),
        background-color 0.3s cubic-bezier(0.25, 1, 0.5, 1),
        border-color 0.3s cubic-bezier(0.25, 1, 0.5, 1),
        width 0.3s cubic-bezier(0.25, 1, 0.5, 1),
        height 0.3s cubic-bezier(0.25, 1, 0.5, 1);
    }
    #cursor.arrow .cursor__circle{
        width: 80px;
        height: 80px;
        background: radial-gradient(127.72% 121.64% at 18.79% 80.8%, #3ADEF0 0%, #7FF0FD 100%);
        border-color: var(--azure);
    }
    #cursor.subtle .cursor__circle{

    }
    #cursor.overlay .cursor__circle{
        width: 48px;
        height: 48px;
        background-color: var(--lgrey);
        border-color: transparent;
    }
}
img{
	max-width: 100%;
}
p, span, .font-roboto, ul, li{
    font-family: 'Roboto', sans-serif;
    margin-bottom: 0;
}
h1, h2, h3, h4, h5, h6 {
	margin-bottom: 0;
    font-family: 'VCR OSD Mono', serif;
}
button:focus{
    outline: none;
}
button{
    cursor: pointer;
}
a:hover{
    text-decoration: none;
}
a:not([href]):not([tabindex]){
    color: var(--azure);
}
.font-poppins{
    font-family: 'Poppins', serif;
}
.text-indigo {
    color: var(--lindigo);
}
.text-azure {
    color: var(--azure);
}
.text-lwhite {
    color: var(--lwhite);
}
.text-lgrey {
    color: var(--lgrey);
}
.text-dblue {
    color: var(--dblue);
}
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active  {
    -webkit-box-shadow: 0 0 0 30px #FFFFFF inset !important;
}
#preloader {
    height: 100vh;
    width: 100%;
    position: fixed;;
    top: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1000;
    background: #000;
}
#header-section {
    min-height: 100vh;
    background-image: url("../images/bg-image.jpg");
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
}
.header-text-block{
    width: 100%;
    min-height: 100vh;
    display: flex;
    align-items: center;
    padding-left: 50px;
}
.logo-big{
    width: 200px;
}
.glass-line{
    position: absolute;
    background: rgba(6, 16, 36, 0.2);
    backdrop-filter: blur(20px);
    min-height: 100vh;
    min-width: 400px;
}
.header-text{
    z-index: 9;
    padding-left: 50px;
}
.header-text p{
    font-size: 20px;
}
.css-typing{
    margin-bottom: 20px;
}
.css-typing h2{
    text-transform: uppercase;
    font-size: 3.5rem;
    color: var(--white);
    white-space: nowrap;
    overflow: hidden;
    width: 100%;
    max-width: max-content;
    opacity: 0;
}
.css-typing h2:nth-child(1) {
    -webkit-animation: type1 2s steps(40, end);
    animation: type1 2s steps(40, end);
    -webkit-animation-delay: 1s;
    animation-delay: 1s;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
}

.css-typing h2:nth-child(2) {
    border-right: 2px solid var(--white);
    opacity: 0;
    -webkit-animation: type 2s steps(20, end), blink .5s step-end infinite alternate;
    animation: type 2s steps(20, end), blink .5s step-end infinite alternate;
    -webkit-animation-delay: 3s;
    animation-delay: 3s;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
}

@keyframes type1 {
    0% {
        width: 0;
    }
    1% {
        opacity: 1;
    }
    99.9% {
        border-right: 2px solid var(--white);
    }
    100% {
        opacity: 1;
        border: none;
    }
}

@-webkit-keyframes type1 {
    0% {
        width: 0;
    }
    1% {
        opacity: 1;
    }
    99.9% {
        border-right: 2px solid var(--white);
    }
    100% {
        opacity: 1;
        border: none;
    }
}

@keyframes type {
    0% {
        width: 0;
    }
    1% {
        opacity: 1;
    }
    100% {
        opacity: 1;
    }
}

@-webkit-keyframes type {
    0% {
        width: 0;
    }
    1% {
        opacity: 1;
    }
    100% {
        opacity: 1;
    }
}
@keyframes blink {
    50% {
        border-color: transparent;
    }
}
@-webkit-keyframes blink {
    50% {
        border-color: transparent;
    }
}
.header-h1{
    font-size: 16px;
    line-height: 22px;
    color: var(--lwhite);
    font-family: 'Roboto', sans-serif;
}
.azure-btn{
    font-size: 28px;
    text-align: center;
    color: var(--azure);
    border: 1px solid var(--azure);
    padding: 5px 30px 10px;
    margin-top: 50px;
    display: block;
    max-width: max-content;
    transition: 0.5s;
}
.azure-btn-sm {
    font-size: 20px;
}
.azure-btn:hover{
    background: var(--azure);
    color: var(--white);
    box-shadow: 0 5px 15px rgba(73, 236, 254, 0.73);

}
.header-cubs {
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
}
.a.moving, .a {
    transition: 5s;
}
.a-1.moving {
    transform: translate(-100%, 35%) scale(2);
}
.a-2.moving {
    transform: translate(-50%, 60%) scale(1.5);
}
.a-3.moving {
    transform: translate(50%, -150%) scale(2);
}
.a-4.moving {
    transform: translate(-200%, 70%) scale(2);
}
.a-5.moving {
    transform: translate(10%, 70%) scale(2);
}
.a-6.moving {
    transform: translate(-50%, -150%) scale(2);
}
.a-7.moving {
    transform: translate(-180%, -40%) scale(2);
}
.a-8.moving {
    transform: translate(-100%, -80%) scale(2);
}
.a-9.moving {
    transform: translate(-50%, 40%) scale(2);
}
.a-10.moving {
    transform: translate(50%, -40%) scale(2);
}
.header-lines {
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
}
.header-lines img{
    height: 100%;
}
.header-image-blocks{
    position: absolute;
    top: 0;
    right: 5%;
    height: 100%;
    display: flex;
    max-width: 700px;
    transition: 2s;
}
.header-image-blocks img{
    width: 100%;
    object-fit: contain;
}
.scale-sm{
    transform: scale(0.7);
}
#web-development {
    min-height: 800px;
    background: linear-gradient(18.46deg, #0F1932 13.31%, #010407 90.68%);
    padding: 50px 0;
}
.section-title-bg {
    position: relative;
}
.section-title {
    display: flex;
    justify-content: center;
}
.section-title-bg h2{
    text-transform: uppercase;
    color: var(--dblue);
    font-size: 6rem;
    opacity: 0;
}
.section-title-bg h2.start-anim{
    animation: opacity 3s forwards;
}
@keyframes opacity {
    from{
        opacity: 0;
    }
    to{
        opacity: 1;
    }
}
.section-title-left{
    justify-content: flex-start;
}
.section-title-bg-light h2{
    color: #F0F1F5;
}
.section-title-bg p {
    color: var(--white);
    font-size: 2rem;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    white-space: nowrap;
}
.section-title-dark p{
    color: var(--dblue);
    left: 0;
    transform: translate(0, -50%);
}
.section-title-left p{
    left: 0;
    transform: translate(0, -50%);
}
.section-title-bg p:after {
    content: '';
    position: absolute;
    height: 1px;
    width: 0;
    border-bottom: 1px solid var(--azure);
    bottom: 5px;
    left: 50%;
    transform: translateX(-50%);
}
.section-title-left p:after{
    left: 0;
    transform: translateX(0);
}
.section-title-bg p.start-anim:after{
    animation: width 3s forwards;
}
@keyframes width {
    from{
        width: 0;
    }
    to{
        width: 50px;
    }
}
#web-development{
    position: relative;
}
#web-development .container{
    position: relative;
    z-index: 2;
}
.web-block-row {
    margin-top: 150px;
}
.web-block {
    position: relative;
    min-height: 280px;
    background: linear-gradient(
        180deg
        , #18233D 0%, rgba(24, 35, 61, 0) 100%);
    border-radius: 13px;
    padding: 30px 30px 0;
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    text-align: center;
    max-width: 400px;
    margin: 0 auto;
    transition: 0.5s;
}
.web-block:hover {
    background: linear-gradient(
        180deg
        , #18233D 0%, #18233D 100%);
    box-shadow: 0 15px 30px rgb(0 0 0 / 25%);
}
.read-more{
    margin-top: 20px;
    opacity: 0;
    transition: 0.5s;
}
.read-more span{
    color: var(--lwhite);
    transition: 0.5s;
}
.read-more .arrow{
    color: var(--white);
    padding: 5px;
    background: var(--azure);
    border-radius: 50%;
}
.read-more:hover span{
    color: var(--azure);
}
.web-block:hover .read-more{
    opacity: 1;
}
.web-block h3{
    color: var(--white);
    font-family: 'Roboto', sans-serif;
    margin-bottom: 30px;
    font-size: 24px;
    margin-top: 50px;
}
.web-block h3 small{
    font-size: 16px;
}
.web-block p{
    color: var(--lwhite);
}
.web-block-img {
    position: absolute;
    top: -50%;
    transform: translateY(40%);
    height: 170px;
    display: flex;
    overflow: hidden;
    width: 270px;
}
.web-full-img-1 {
    position: absolute;
    max-width: 110px;
    top: 5px;
    left: 0;
    z-index: 2;
}
.web-full-img-2 {
    position: absolute;
    max-width: 40%;
    top: 53%;
    left: 0;
    transform: translateY(-50%);
    z-index: 1;
}
.web-full-img-3 {
    position: absolute;
    max-width: 37%;
    top: 54%;
    left: 0;
    transform: translateY(-50%);
    z-index: 0;
}
.web-full-img-4 {
    position: absolute;
    max-width: 35%;
    top: 54%;
    left: 0;
    transform: translateY(-50%);
    z-index: -1;
}
.web-full-img-2.start-anim {
    animation: fromLeft1 1s linear forwards;
}
@keyframes fromLeft1 {
    to {
        left: 60px;
    }
}

.web-full-img-3.start-anim {
    animation: fromLeft2 1.5s 1s linear forwards;
}
@keyframes fromLeft2 {
    to {
        left: 130px;
    }
}
.web-full-img-4.start-anim {
    animation: fromLeft3 2s 1.5s linear forwards;
}
@keyframes fromLeft3 {
    to {
        left: 180px;
    }
}
.web-path {
    stroke-dasharray: 800;
    stroke-dashoffset: 800;
    animation: dash 5s linear alternate infinite;
}
@keyframes dash {
    to {
        stroke-dashoffset: 0;
    }
}
.web-cubs{
    position: absolute;
    right: 0;
    top: 20px;
    opacity: 0.2;
}
.w.start-anim, .w {
    transition: 5s;
}
.w-1.start-anim {
    animation: moving-1 10s alternate infinite;
}
@keyframes moving-1 {
    to{
        transform: translate(-50%, 50%);
    }
}
.w-2.start-anim {
    animation: moving-2 10s alternate infinite;
}
@keyframes moving-2 {
    to{
        transform: translate(-60%, 10%);
    }
}
.w-3.start-anim {
    animation: moving-3 40s alternate infinite;
}
@keyframes moving-3 {
    to{
        transform: translate(60%, -50%);
    }
}
.w-4.start-anim {
    animation: moving-4 30s alternate infinite;
}
@keyframes moving-4 {
    to{
        transform: translate(-50%, 120%);
    }
}
.w-5.start-anim {
    animation: moving-5 50s alternate infinite;
}
@keyframes moving-5 {
    30%{
        transform: translate(50%, 80%);
     }
    60%{
        transform: translate(70%, 50%);
    }
    100%{
        transform: translate(80%, 20%);
    }
}
.w-6.start-anim {
    animation: moving-6 30s alternate infinite;
}
@keyframes moving-6 {
    30%{
        transform: translate(-50%, -80%);
     }
    60%{
        transform: translate(-30%, -50%);
    }
    100%{
        transform: translate(-50%, -10%);
    }
}
.w-7.start-anim {
    animation: moving-7 20s alternate infinite;
}
@keyframes moving-7 {
    30%{
        transform: translate(-50%, -20%);
    }
    60%{
        transform: translate(-50%, 50%);
    }
    100%{
        transform: translate(-30%, 0);
    }
}
.w-8.start-anim {
    animation: moving-8 25s alternate infinite;
}
@keyframes moving-8 {
    30%{
        transform: translate(-50%, -20%);
    }
    60%{
        transform: translate(-30%, -50%);
    }
    100%{
        transform: translate(-30%, 0);
    }
}
.w-9.start-anim {
    animation: moving-9 30s alternate infinite;
}
@keyframes moving-9 {
    30%{
        transform: translate(50%, 20%);
    }
    60%{
        transform: translate(10%, 40%);
    }
    100%{
        transform: translate(-20%, 0);
    }
}
.w-10.start-anim {
    animation: moving-10 20s alternate infinite;
}
@keyframes moving-10 {
    30%{
        transform: translate(50%, 20%);
    }
    60%{
        transform: translate(20%, -10%);
    }
    100%{
        transform: translate(20%, -30%);
    }
}

#web-design {
    padding: 50px 0;
    background-image: url("../images/design-bg.svg");
    background-repeat: no-repeat;
    background-size: 100%;
    background-position: center 50px;
    background-attachment: fixed;
}
.design-block:not(:last-child){
    margin-bottom: 30px;
}
.design-block {
    display: flex;
    align-items: center;
    border: 1px solid #4F4F4F;
    box-sizing: border-box;
    border-radius: 10px;
    padding: 20px 30px;
    position: relative;
    z-index: 1;
    transition: 0.5s;
}
.design-block:after {
    content: '';
    z-index: -1;
    border-radius: 10px;
    opacity: 0;
    background: linear-gradient(
        266.41deg
        , #FFAED4 0.23%, #708BFF 45%, #D56A9C 98.67%);
    position: absolute;
    width: 100%;
    left: 0;
    top: 0;
    height: 100%;
    transition: 1s;
}
.design-block:hover:after{
    opacity: 1;
}
.design-icon {
    background: radial-gradient(161.56% 94.11% at 72.79% 10.29%, #FF92C4 0%, #D4699B 100%);
    box-shadow: 0 10px 10px rgb(0 0 0 / 25%);
    border-radius: 50%;
    min-width: 68px;
    height: 68px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}
.design-icon:after {
    content: url("../images/design/circle-with-icons.png");
    position: absolute;
    left: -13px;
    top: -13px;
    bottom: -13px;
    right: -13px;
}
.design-block:hover{
    /*background: linear-gradient(266.41deg, #FFAED4 0.23%, #708BFF 45%, #D56A9C 98.67%);*/
    border-color: var(--white);
 }
 .design-block:hover .design-icon:after{
    content: url("../images/design/circle-with-icons-white.png");
    animation: rotate 10s alternate infinite;
 }
@keyframes rotate {
    to{
        transform: rotate(720deg);
    }
}
.design-description{
    padding-left: 50px;
}
.design-description span{
    font-weight: bold;
}
.design-description h2{
    font-size: 24px;
    font-weight: 600;
    margin-bottom: 10px;
}
.design-description h2,
.design-description p {
    font-family: 'Roboto', sans-serif;
    color: var(--lgrey);
}
.design-block:hover h2,
.design-block:hover p{
    color: var(--white);
}
#online-marketing {
    padding: 100px 0;
    background-image: url("../images/marketing/online-marketing-bg.png");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center bottom;
    margin-top: 50px;
    background-attachment: fixed;
}
#online-marketing .section-title-bg h2{
    color: #0E1635;
}
.online-marketing-block{
    background: #6682ff1a;
    border: 2px solid #6682FF;
    box-shadow: 0 2px 5px #7b93ff;
    border-radius: 13px;
    z-index: 3;
}
.online-marketing-block .design-icon{
    background: linear-gradient(30.69deg, #6682FF 32.31%, #7E96FF 89.09%);
    box-shadow: 0 10px 10px rgba(0, 0, 0, 0.25);
}
.online-marketing-block .design-icon:after {
    content: url("../images/marketing/circle-with-icons.png");
}
.online-marketing-block:hover{
    /*background: linear-gradient(266.31deg, #6682FF 0.24%, #C668FE 45.61%, #5C68F2 100%);*/
    border-color: #6682FF;
}
.online-marketing-block:after{
    background: linear-gradient(266.31deg, #6682FF 0.24%, #C668FE 45.61%, #5C68F2 100%);
}
.online-marketing-block:hover .design-icon:after{
    content: url("../images/marketing/circle-with-icons.png");
    animation: rotate 10s alternate infinite;
}
.online-marketing-block .design-description h2,
.online-marketing-block .design-description p {
    color: var(--white);
}
#about-section {
    background: linear-gradient(90.13deg, #040614 0.02%, #040614 36.66%, #05091A 99.8%);
    position: relative;
    padding: 50px 0;
    overflow: hidden;
}
.about-bg{
    position: relative;
    background-image: url("../images/about-bg.svg");
    background-repeat: no-repeat;
    background-position: 100% calc(100% + 50px);
    background-size: 100%;
    animation: gradient 5s linear alternate infinite;
}
@keyframes gradient {
    100% {
        background-size: 120%;
    }
}
#about-section .section-title-bg h2,
#contact-section .section-title-bg h2{
    color: #090E29;
}
.top-boobles{
    position: absolute;
    top: -65px;
    left: 15px;
    right: 15px;
}
.about-description {
    margin-top: 50px;
}
.about-description p {
    color: var(--white);
    opacity: 0.8;
    column-count: 2;
    column-gap: 100px;
}
.results {
    display: flex;
    justify-content: space-between;
    margin: 80px 0;
}
.result{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
span.result-count {
    color: var(--azure);
    font-size: 26px;
}
span.result-title {
    color: var(--white);
    font-size: 24px;
    text-align: center;
}
#contact-section{
    background: linear-gradient(90.13deg, #040614 0.02%, #040614 36.66%, #05091A 99.8%);
    position: relative;
    padding: 50px 0;
    overflow: hidden;
}
form#contact-form{
    margin-top: 50px;
}
.contacts_row__body___form label {
    width: 100%;
    position: absolute;
    left: 0;
    top: -10px;
    color: #ffffffcc;
    font-weight: 200;
    font-size: 16px;
    -webkit-transition: 100ms ease-in;
    -moz-transition: 100ms ease-in;
    -ms-transition: 100ms ease-in;
    -o-transition: 100ms ease-in;
    transition: 100ms ease-in;
}
.input-gr.focus label {
    top: -25px;
    font-size: 12px;
}
.contacts_row__body___form input,
.contacts_row__body___form textarea {
    margin: 0;
    padding: 0;
    color: var(--white);
    display: block;
    width: 100%;
    outline: 0;
    border: 0;
    background: transparent;
    position: relative;
    border-bottom: 1px solid #ffffff33;
    -webkit-appearance: none;
}
.input-gr {
    position: relative;
    margin-bottom: 50px;
}
.input-gr.invalid .input-item {
    border-color: var(--red);
}
.input-gr.invalid label {
    color: var(--red);
}

/*.contacts_row__body___form textarea {
    resize: none;
    height: 17px;
    overflow: hidden;
}*/
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus {
    border: none;
    -webkit-text-fill-color: var(--azure);
    background-color: var(--red);
}
.map{
    min-height: 500px;
    background-image: url("../images/map.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    margin: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.contact-info{
    position: relative;
}
.contact-text-block p,
.contact-text-block a{
    color: var(--white);
    opacity: 0.8;
}
.contact-icon{
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 10px;
    min-width: 37px;
    height: 37px;
    background: rgb(255 255 255 / 20%);
    padding: 5px;
    border-radius: 50%;
}
.contact-text-block {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}
.contact-outline{
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    border: 2px solid rgb(255 255 255 / 20%);
    border-bottom-color: #fff;
    border-radius: 50%;
    min-width: 360px;
    min-height: 360px;
    animation: spin 10s linear infinite;
}
.contact-info {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    border: 2px solid rgb(255 255 255 / 20%);
    border-right-color: #fff;
    border-left-color: #fff;
    border-radius: 50%;
    min-width: 360px;
    height: 360px;
    margin: 40px;
    animation: spinReverse 10s linear infinite;
}

@keyframes spin {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}
@keyframes spinReverse {
    from {
        transform: rotate(0);
    }
    to {
        transform: rotate(-720deg);
    }
}
footer {
    background: linear-gradient(180deg, #0F1831 0%, #02060C 100%);
    padding: 50px 0;
}
.footer-block{
    display: flex;
    flex-direction: column;
}
.navigation{
    text-transform: uppercase;
    color: var(--white);
    font-family: 'Roboto', sans-serif;
}
.footer-link{
    color: var(--white);
    opacity: 0.5;
    margin-top: 10px;
    position: relative;
    transition: 0.5s;
}
.footer-link:first-letter {
    text-transform: uppercase;
}
.footer-link:after{
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    background: linear-gradient(to right, #5F7DFF 0, #5F7DFF 33%, var(--lwhite) 33%, var(--lwhite) 66%, var(--azure) 66%, var(--azure) 100%);
    width: 0;
    height: 1px;
    transition: 0.5s;
}
.footer-link:hover{
    color: var(--white);
    opacity: 1;
}
.footer-link:hover:after{
    width: 50px;
}
.footer-block-bordered{
    border-bottom: 1px solid #ffffff80;
}

/*nav*/

.menu-toggle {
    background-color: transparent;
    position: absolute;
    z-index: 20;
    padding: 20px;
    top: 50px;
    right: 0;
    border: none;
    width: 60px;
    height: 30px;
    outline: none;
}
.menu-toggle span{
    height: 1px;
    border-bottom: 2px solid var(--white);
    position: absolute;
    right: 0;
}
.menu-toggle span:first-child{
    width: 60px;
    top: 0;
}
.menu-toggle span:nth-child(2){
    width: 40px;
    top: 12px;
}
.menu-toggle span:last-child{
    width: 60px;
    top: 24px;
}
#nav {
    height: 100%;
    width: 0;
    position: fixed;
    z-index: 100;
    top: 0;
    right: 0;
    background: #061024;
    opacity: 1;
    transition: 0.6s linear;
}
/*.overlay.open{
    width: 98% !important;
}*/
.overlay-content {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    height: 100%;
    text-align: center;
    padding: 100px;
    opacity: 0;
}
.overlay-content.show{
    opacity: 1;
    transition: 0.5s;
    transition-delay: 0.5s;
}
#close-nav {
    font-size: 24px;
    position: absolute;
    right: 100px;
    top: 50px;
    cursor: pointer;
    z-index: 9;
    opacity: 0;
    transition: 0.5s;
}
.overlay.open{
    transition: 0.5s;
}
.overlay.open #close-nav {
    opacity: 1;
}
.languages {
    position: absolute;
    top: 50px;
    right: 80px;
    z-index: 2;
}
#nav .languages {
    left: 100px;
    right: unset;
    z-index: 10000;
}
.menu-lang {
    margin-top: 0 !important;
    margin-right: 10px;
    display: block;
    width: 30px;
    text-align: center;
    opacity: 1 !important;
    border: 1px solid transparent;
    border-radius: 5px;
    color: var(--white);
    transition: 0.5s;
}
a.menu-lang.active,
.menu-lang:hover{
    border: 1px solid var(--azure);
    filter: drop-shadow(0px 1px 3px rgba(58, 222, 240, 0.82));
    color: var(--azure) !important;
}
#nav a {
    text-decoration: none;
    font-size: 18px;
    color: var(--white);
    display: block;
    opacity: 0.5;
    transition: 0.3s;
    margin-top: 20px;
}
#nav .header-cubs{
    bottom: 50px;
    top: unset;
    width: 100%;
    height: unset;
    z-index: -1;
}
#nav .azure-btn{
    color: var(--azure) !important;
    opacity: 1;
}
#nav .azure-btn:hover{
    color: var(--white) !important;
}
.wave-bg{
    height: 100%;
    background-image: url("../images/wave.svg");
    background-repeat: no-repeat;
    background-position: 100% 50%;
    background-size: 100%;
    animation: gradient 10s linear alternate infinite;
}
.header-links {
    padding: 20px 0;
}
.header-links.w-border {
    border-bottom: 1px solid #ffffff80;
}
.header-logo {
     position: absolute;
     z-index: 9;
     left: 115px;
     top: 40px;
 }
header.other .header-logo {
    left: 0;
}
.small-header {
    height: 300px;
    background-image: url(/images/header-bg-sm.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: right center;
}
.page-title {
    position: absolute;
    top: 200px;
    left: 0;
    z-index: 9;
}
.page-title .css-typing{
    margin-bottom: 20px;
}
.css-typing h1{
    /*text-transform: uppercase;*/
    font-size: 2.5rem;
    color: var(--white);
    white-space: nowrap;
    overflow: hidden;
    width: 100%;
    max-width: max-content;
    padding-right: 10px;
    opacity: 0;
    border-right: 2px solid var(--white);
    opacity: 0;
    -webkit-animation: type 2s steps(20, end), blink .5s step-end infinite alternate;
    animation: type 2s steps(20, end), blink .5s step-end infinite alternate;
    -webkit-animation-delay: 1s;
    animation-delay: 1s;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
}
.css-typing h1:first-letter {
    text-transform: uppercase;
}
#web-development-info {
    margin-bottom: 50px;
    background-repeat: no-repeat;
    background-position: center;
}
.package{
    padding: 50px 0;
}
.bg-full-websites{
    background-image: url("../images/web/bg-full-websites.jpg");
    background-size: cover;
}
.bg-web-apps{
    background-image: url("../images/web/bg-web-apps.jpg");
    background-size: cover;
}
.bg-promo{
    background-image: url("../images/design-bg.svg");
    background-position: center 50px !important;
}
.bg-promo .package-points::before{
    background: linear-gradient(#fffffff2 30%, #ffffff8f 60%, #ffffff00 100%);
}
.bg-promo .package-points::after{
    background: linear-gradient(#ffffff00 30%, #ffffff8f 60%, #fffffff2 100%);
}
.bg-promo .flag{
    color: var(--lgrey);
}
.package h2,
.package h4{
    color: var(--lgrey);
    font-family: 'Roboto', sans-serif;
    margin-bottom: 10px;
    font-weight: 600;
}
.timeline {
    position: relative;
    width: 100%;
    margin: 0 auto;
    list-style-type: none;
    padding: 50px 0;
    cursor: grab;
}
.timeline:before {
    position: absolute;
    left: 50%;
    top: 0;
    content: ' ';
    display: block;
    border-right: 1px dashed #C1C4C9;
    width: 6px;
    height: 100%;
    margin-left: -3px;
    transform: translateX(-50%);
    z-index: 5;
}
.timeline li {
    padding: 1.8em 0;
}
.timeline li:after {
    content: "";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}
.direction-l {
    position: relative;
    width: calc(50% - 30px);
    float: left;
    text-align: right;
}
.direction-r {
    position: relative;
    width: calc(50% - 30px);
    float: right;
}
.flag-wrapper {
    position: relative;
    display: inline-block;
    /*text-align: center;*/
}
.flag {
    position: relative;
    display: flex;
    padding: 0 50px;
    border-radius: 5px;
    font-weight: 600;
    text-align: left;
    color: var(--white);
}
.direction-l .flag{
    padding-left: 50px;
}
.direction-r .flag{
    padding-right: 50px;
}
.direction-l .flag:before,
.direction-r .flag:before {
    position: absolute;
    top: 50%;
    right: -47px;
    content: ' ';
    display: block;
    width: 34px;
    height: 34px;
    margin-top: -16px;
    border-radius: 50%;
    z-index: 10;
}
.direction-r .flag:before {
    left: -47px;
}
.direction-l .flag-blue:before,
.direction-r .flag-blue:before {
    background: radial-gradient(50% 50% at 50% 50%, #6DF1FF 0%, #5DE7F6 53.12%, #FFFFFF 53.14%, #5DE7F6 53.15%, #4FE3F3 55.21%, #40DFF0 57.29%, #FFFFFF 57.3%, rgba(93, 231, 246, 0.4) 57.31%, rgba(255, 255, 255, 0.36751) 67.71%, #FFFFFF 93.75%, #45E0F1 93.76%);
}
.direction-l .flag-green:before,
.direction-r .flag-green:before {
    background: radial-gradient(50% 50% at 50% 50%, #50C6A7 0%, #4BC1A2 53.12%, #FFFFFF 53.14%, #4BC1A2 53.15%, #4BC1A2 55.21%, #41BB9B 57.28%, #40DFF0 57.29%, #FFFFFF 57.3%, rgba(75, 193, 162, 0.4) 57.31%, rgba(255, 255, 255, 0.36751) 67.71%, #FFFFFF 93.75%, #4BC1A2 93.76%);
}
.direction-l .flag-purple:before,
.direction-r .flag-purple:before {
    background: radial-gradient(50% 50% at 50% 50%, #869DFF 0%, #6683FF 53.12%, #FFFFFF 53.14%, #6683FF 53.15%, #6683FF 55.21%, #6683FF 57.29%, #FFFFFF 57.3%, rgba(102, 131, 255, 0.4) 57.31%, rgba(255, 255, 255, 0.36751) 67.71%, #FFFFFF 93.75%, #6683FF 93.76%);
}
.direction-l .flag-pink:before,
.direction-r .flag-pink:before {
    background: radial-gradient(50% 50% at 50% 50%, #FC98C6 0%, #FD8EC1 53.11%, #FC98C6 53.12%, #FFFFFF 53.14%, #FB8CBF 53.15%, #FB8BBE 55.21%, #FE85BD 57.28%, #40DFF0 57.29%, #FFFFFF 57.3%, rgba(252, 152, 198, 0.4) 57.31%, rgba(255, 255, 255, 0.36751) 67.71%, #FFFFFF 93.75%, #D96DA0 93.76%);
}
.direction-l .flag-orange:before,
.direction-r .flag-orange:before {
    background: radial-gradient(50% 50% at 50% 50%, #FFAE6A 0%, #FFA76E 53.11%, #5DE7F6 53.12%, #FFFFFF 53.14%, #FFA76E 53.15%, #FEA368 55.21%, #FC9F62 57.27%, #F89B5F 57.28%, #40DFF0 57.29%, #FFFFFF 57.3%, rgba(255, 167, 110, 0.4) 57.31%, rgba(255, 193, 152, 0.390496) 59.9%, rgba(255, 255, 255, 0.36751) 64.58%, #FFFFFF 93.75%, #FFA76E 93.76%);
}
.direction-l .flag:after {
    content: "";
    position: absolute;
    right: -10px;
    transform: translateY(-50%);
    top: 50%;
    height: 1px;
    width: 50px;
    border-bottom: 1px dashed #C1C4C9;
}

.direction-r .flag:after {
    content: "";
    position: absolute;
    left: -10px;
    transform: translateY(-50%);
    top: 50%;
    height: 1px;
    width: 50px;
    border-bottom: 1px dashed #C1C4C9;
}
.package-points{
    position: absolute;
    right: 0;
    width: 100%;
    height: 100%;
}
.timeline-container {
    max-height: 100%;
    overflow-y: scroll;
    position: relative;
    -ms-overflow-style: none;
    scrollbar-width: none;
}
.timeline-container::-webkit-scrollbar {
    display: none;
}
.package-points::after {
    content: '';
    height: 100px;
    width: 100%;
    position: absolute;
    bottom: 0;
    background: linear-gradient(#0f193200 30%, #0f19328f 60%, #0f1932f2 100%);
    left: 0;
    z-index: 99;
}
.package-points::before {
    content: '';
    height: 100px;
    width: 100%;
    position: absolute;
    top: 0;
    background: linear-gradient(#0f1932f2 30%, #0f19328f 60%, #0f193200 100%);
    left: 0;
    z-index: 99;
}
#our-projects{
    padding-bottom: 100px;
    background-image: url('../images/portfolio-bg.png');
    background-repeat: no-repeat;
    background-size: cover;
}
.section-title .centered{
    left: 50%;
    transform: translate(-50%, -50%);
}
.portfolio-items {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.website-images{
    position: relative;
    width: 520px;
    max-width: 100%;
}
.portfolio-item {
    display: block;
    width: 350px;
    height: 550px;
    overflow-y: scroll;
    border: 17px solid #F0F1F5;
    box-shadow: 0 5px 15px rgb(0 0 0 / 16%);
    border-radius: 26px;
    -ms-overflow-style: none;
    scrollbar-width: none;
    margin: 10px 10px 50px;
}
.portfolio-item.portfolio-item-sm {
    position: absolute;
    bottom: -50px;
    width: 144px;
    height: 268px;
    border: 7px solid #F0F1F5;
    right: 0;
}
.portfolio-item::-webkit-scrollbar {
     display: none;
 }
.portfolio-item img{
    width: 100%;
    min-height: 100%;
    object-fit: cover;
}

#online-marketing-info{
    position: relative;
    padding: 100px 0 70px;
    background: linear-gradient(1.01deg, #0F1932 24.15%, #010407 159.35%);
}
.marketing-bg {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    height: 100%;
    object-fit: contain;
    width: 50%;
}
#our-portfolio{
    padding: 100px 0 0;
}
#design-info{
    position: relative;
    padding: 100px 0;
    background: url("../images/design-bg-lines.png");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: right center;
}
.design-logo-boobles {
    position: absolute;
    right: 0;
    top: 10px;
}
#website{
    background-image: url("../images/website-bg.jpg");
    background-size: contain;
    padding: 100px 0;
    background-repeat: no-repeat;
}
.our-logos{
    background-image: url("../images/web-design/logo/bg_logo_design.jpg") !important;
    background-repeat: repeat !important;
}
.logos {
    margin-top: 120px;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}
.logos img{
    width: 500px;
    margin-bottom: 50px;
    box-shadow: 0 5px 15px rgb(0 0 0 / 16%);
}
.logos img:nth-child(even) {
    margin-left: 100px;
}
.logos a:nth-child(2n+1) {
    margin-right: 20px;
}
.bg-business-card{
    background: none !important;
}
.slider{
    margin-top: 50px;
    background-image: url("../images/web-design/business-card/bg-business-card.jpg");
    background-repeat: no-repeat;
    background-position: center;
}
.affiche-slider img{
    filter: drop-shadow(0px 15px 30px rgba(0, 0, 0, 0.16))
}
div#arrows {
    display: flex;
    width: 50px;
    position: relative;
    margin: 30px auto 0;
}
.slick-prev:before, .slick-next:before{
    color: var(--lgrey) !important;
}
.slick-initialized .slick-slide{
    padding: 80px 0;
}
.flyer-slider img,
.menu-card-slider img{
    height: 300px;
    object-fit: contain;
}
.catalogue-slider img{
    height: 400px;
    object-fit: contain;
}
.slick-track img,
.slick-cloned img{
    transform: scale(0.7);
    transition: 0.5s;
}
.slick-center img {
    transform: scale(1);
    transition: 0.5s;
}
.photography-slider img{
    box-shadow: 0 15px 30px rgb(0 0 0 / 16%);
}
#about-page,
#terms-page {
    position: relative;
    padding: 80px 0;
    background: linear-gradient(90.13deg, #040614 0.02%, #040614 36.66%, #05091A 99.8%);
}
#impressum{
    position: relative;
    background: linear-gradient(90.13deg, #040614 0.02%, #040614 36.66%, #05091A 99.8%);
}
.impressum-bg{
    background-image: url("../images/impressum-bg.svg");
    background-position: right top;
    background-repeat: no-repeat;
    padding: 80px 0;
    min-height: 850px;
}
.impressum-contact {
    background: linear-gradient(
        180deg
        , #18233D 0%, rgba(24, 35, 61, 0) 100%);
    border-radius: 13px;
    padding: 20px 40px;
    margin-left: 30px;
}
.impressum-read-more{
    display: block;
    opacity: 1;
    margin-top: 40px;
}
.terms_text p,
.package p{
    margin-bottom: 20px;
}
.terms_text h4{
    color: var(--white);
    font-weight: bold;
    font-family: 'Roboto', sans-serif;
    margin: 40px 0 10px;
}
.terms_text ul,
.package ul{
    list-style-position: inside;
}
.terms-bg{
    position: relative;
    background-image: url("../images/terms-bg.svg");
    background-repeat: no-repeat;
    background-position: top right;
    background-size: contain;
}
#error{
    background: url("../images/404_bg.png");
    padding: 100px 0;
}
#error h2{
    text-transform: uppercase;
    color: var(--white);
    opacity: 0.2;
    font-size: 4rem;
}
.request-modal .modal-content{
    background-image: url(../images/modal-bg.png);
    background-color: #040614;
    box-shadow: 0 15px 30px rgb(0 0 0 / 16%);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: right bottom;
    border-radius: 15px;
    border: none;
}
.request-modal form#contact-form{
    margin-top: 0;
    padding: 50px;
}
.request-modal .close {
    position: absolute;
    right: 50px;
    top: 50px;
    z-index: 9;
    opacity: 1;
    color: #fff;
    text-shadow: none;
    font-size: 32px;
    font-weight: 100;
}
.modal-backdrop {
    background-color: #040614;
}
.modal-backdrop.show{
    opacity: 0.9;
}
#thankyou-page{
    background-image: url("../images/thankyou-bg.png");
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    min-height: 650px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.request-page{
    background-image: url(../images/modal-bg.png);
    background-color: #040614;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: right bottom;
    padding: 100px 0;
}
.marketing-description p{
    margin-bottom: 20px;
}
.marketing-description ul{
    list-style-position: inside;
}
.grecaptcha-badge {
    display: none !important;
}
.sticky {
    position: sticky;
    top: 0;
    min-height: 100vh;
    height: 100%;
}


@media screen and (min-width: 1400px) {
    .container{
        max-width: 1370px;
    }
    .portfolio-item{
        width: 400px;
    }
    .modal-lg {
        max-width: 1000px;
    }
}
@media screen and (max-width: 1200px){
    .header-image-blocks{
        display: none;
    }
    .contact-info{
        min-width: 300px;
        height: 300px;
        margin: 20px;
    }
    .contact-outline{
        min-width: 330px;
        min-height: 330px;
    }
    .header-lines{
        opacity: 0.2;
    }
    .portfolio-item{
        width: 400px;
        max-width: 100%;
    }
    .logos img {
        width: 400px;
    }
    .logos img:nth-child(even) {
        margin-left: 30px;
    }
    .package-points{
        position: relative;
    }
}

@media screen and (max-width: 992px){
    .css-typing h2{
        font-size: 2.5rem;
    }
    .web-block {
        margin-bottom: 100px;
    }
    .footer-block-bordered{
        border: none;
        padding-left: 0;
    }
    .header-text-block{
        padding-left: 0;
    }
    .header-logo{
        left: 60px;
    }
    .timeline:before{
        left: 30px;
        transform: translateX(0);
    }
    .flag{
        white-space: nowrap;
    }
    .direction-r,
    .direction-l{
        width: 100%;
        float: left;
        text-align: left;
    }
    .direction-l .flag{
        padding-left: 110px;
    }
    .direction-r .flag{
        padding-right: unset;
        padding-left: 110px;
    }
    .direction-r .flag:before,
    .direction-l .flag:before{
        right: unset;
        left: 15px;
    }
    .direction-r .flag:after,
    .direction-l .flag:after{
        right: unset;
        left: 50px;
    }
    .overlay-content{
        padding: 30px;
    }
    .portfolio-items{
        justify-content: center;
    }
    .logos{
        margin-top: 50px;
    }
    .logos img {
        width: 600px;
    }
    .logos img:nth-child(even) {
        margin-left: 0;
    }
    .slider{
        margin-top: 0;
    }
    .impressum-contact{
        padding: 20px;
        margin-left: 0;
        margin-top: 20px;
    }
    .request-modal form#contact-form{
        padding: 50px 20px;
    }
    .package-points::before,
    .package-points::after {
        display: none;
    }
    .overlay-content.show{
        margin-top: 60px;
    }
    #nav .languages{
        left: 20px;
    }
    .marketing-bg{
        display: none;
    }
    .request-modal .close{
        right: 20px;
    }
    .header-cubs{
        display: none;
    }
    .sticky {
        position: relative;
        height: unset;
        top: unset;
    }
    .logos a:nth-child(2n+1) {
        margin-right: 0;
    }
}
@media screen and (max-width: 600px){
    .menu-toggle{
        right: 20px;
        top: 63px;
    }
    .css-typing h2{
        font-size: 26px;
    }
    .azure-btn{
        font-size: 24px;
    }
    .azure-btn-sm {
        font-size: 18px;
    }
    .header-text {
        padding-left: 20px;
    }
    .header-logo {
        left: 40px;
    }
    .section-title-bg h2{
        font-size: 3.5rem;
    }
    .about-description p {
        column-count: 1;
    }
    .design-block{
        flex-wrap: wrap;
    }
    .design-icon{
        margin: 0 auto 20px;
    }
    .design-description {
        padding-left: 0;
        text-align: center;
    }
    .results{
        flex-wrap: wrap;
        justify-content: center;
    }
    .result{
        margin: 10px;
    }
    .contact-info {
        min-width: 290px;
        height: 290px;
        margin: 0px;
    }
    .contact-text-block p,
    .contact-text-block div{
        margin: 0 !important;
    }
    .contact-text-block .d-flex.align-items-center{
        margin-bottom: 10px !important;
    }
    .contact-text-block p{
        text-align: center;
    }
    .contact-text-block .contact-icon {
        width: 25px;
        min-width: 25px;
        height: 25px;
        margin-right: 10px !important;
    }
    .contact-icon img {
        max-width: 80%;
    }
    #nav{
        overflow-y: scroll;
    }
    #close-nav{
        right: 30px;
        top: 40px;
    }
    .overlay-content{
        flex-wrap: wrap;
    }
    .overlay-content div{
        width: 100%;
    }
    header.other .header-logo,
    .page-title{
        left: 15px;
    }
    .page-title .css-typing h1 {
        font-size: 24px;
        max-width: max-content;
        /*
        overflow: unset;
        white-space: pre-wrap;*/
    }
    .about-bg{
        background-position: 100% calc(100% + -50px);
        background-size: 100%;
    }
    .portfolio-item {
        border: 7px solid #F0F1F5;
        width: 280px;
        max-width: 100%;
        margin: 0 auto;
    }
    .portfolio-item.portfolio-item-sm{
        bottom: 0;
    }
    #design-info{
        padding: 0;
    }
    #online-marketing-info {
        position: relative;
        padding: 50px 0;
    }
    .glass-line{
        min-width: 100%;
    }
    .outside-languages {
        display: none;
    }
}

@media screen and (max-width: 380px){
    .header-text {
        padding-left: 0;
    }
    .contact-outline {
        min-width: 320px;
        min-height: 320px;
    }
    .contact-info {
        min-width: 280px;
        height: 280px;
    }
    .logo-big {
        width: 150px;
    }
    .header-logo {
        top: 50px;
    }
}
