:root {
    --white: #fff;
    --light-gray: #F8F8F8;
    --gray: #D0D0D0;
    --dark-gray: #707070;
    --blue: #3DB1E8;
    --light-blue: #A9DBF8;
    --too-light-blue: #e0f3ff;
    --red: #E43372;
    --light-red: #ffb9d1;
    --black: #303030;
    --fast: 100ms;
    --medium: 200ms;
    --slow: 300ms;
}
*{
    margin: 0;
    padding: 0;
    outline: 0;
}
label{
    line-height: normal;
    cursor: pointer;
}
.blue-color{
    color: var(--blue);
}
.form-check{
    margin: 0;
    padding: 0;
}
.form-check-label{
    font-size: 16px;
}
.form-check-label small{
    flex: 1;
}
.show-on-mobile{
    display: none;
}
.form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label{
    opacity: 1 !important;
}
.site-page em{
    font-style: normal !important;
    padding: 2px 5px;
    display: inline-block;
    background: var(--too-light-blue);
    margin-top: 1px;
    margin-bottom: 1px;
}
body{
    font-family: EuclidCircularB-Light;
    color: var(--dark-gray);
    font-size: 18px;
    counter-reset: my-sec-counter;
    transform: none !important;
    overflow-x: hidden;
}
.blur-bg{
    background-color: rgba(255,255,255, 0.8);
    position: fixed;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: -1;
    transition: opacity ease var(--medium);
    -webkit-backdrop-filter: blur(15px);
    backdrop-filter: blur(15px);
    opacity: 0;
}
.map{
    background: var(--white);
    z-index: 4;
    position: fixed !important;
    right: -50%;
    top: 0;
    bottom: 0;
    width: 50%;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.04);
    transition: all ease var(--medium);
}
.show-map .map{
    right: 0;
}
.show-map .blur-bg{
    /*z-index: 3;*/
    /*opacity: 1;*/
}
img.img-fluid{
    min-width: 100%;
}
img.loading{
    filter: blur(15px);
    transform: scale(1.1);
    /*min-width: 100% !important;*/
    /*min-height: 100% !important;*/
    /*overflow: hidden !important;*/
}
.portfolio-image img.loading{
    transform: scale(1.2);
}
.alert{
    padding: 10px;
    text-align: center;
    color: var(--white);
    border: 0;
    border-radius: 0;
}
.alert.alert-success{
    background-color: var(--light-blue);
}
.alert.alert-danger{
    background-color: var(--light-red);
}
.no-select,
a > img,
.btn-custom
{
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
a{
    transition: all ease var(--medium);
}
a.active,
a:hover,
.navbar-nav li:hover a:not(.blue)
{
    color: var(--blue);
}
.with-bg{
    padding: 10px 20px;
    color: var(--black);
    letter-spacing: 1px;
    display: inline-block;
}
.with-bg.icon{
    padding-left: 50px;
}
.with-bg.icon::before{
    content: ' ';
    display: inline-block;
    width: 18px;
    height: 25px;
    left: 32px;
    position: absolute;
    background-repeat: no-repeat;
    background-position: center;
}
.icon-document::before{
    background-image: url(../images/document.svg);
}
.bg-light-gray{
    background-color: var(--light-gray);
}
.form-control:focus{
}
.form-control{
    box-shadow: none !important;
    border-radius: 0;
    border: none;
    padding-left: 0 !important;
    padding-right: 0 !important;
    border-bottom: 1px solid var(--gray) !important;
}
textarea.form-control{
    min-height: 150px;
    resize: none;
}
.form-floating > label{
    padding-left: 0 !important;
    padding-right: 0 !important;
    border: 0;
    color: var(--black);
}
ul{
    list-style: none;
    margin: 0;
    padding: 0;
}
.with-separator{
    font-size: 0;
}
.with-separator li{
    display: inline-flex;
    font-size: initial;
}
.with-separator li:after{
    width: 4px;
    height: 4px;
    content: ' ';
    border-radius: 2px;
    display: inline-block;
    background: var(--dark-gray);
    margin: auto 10px;
}
.with-separator li:last-child:after{
    display: none;
}
.border-top{
    border-top: 1px solid var(--light-gray) !important;
}
.inactive-text{
    color: var(--gray);
}
.link{
    color: var(--black);
    text-decoration: none;
}
.inline-list{
    font-size: 0;
}
.inline-list > li{
    display: inline-block;
}
.underline-custom,
.accordion-items .content p a,
.breadcrumb a
{
    text-decoration: none;
    position: relative;
    padding-bottom: 3px;
}
.underline-custom.red{
    color: var(--red);
}
.underline-custom:hover:after,
.accordion-items .content p a:hover:after,
.breadcrumb a:hover:after
{
    width: 0;
}
.underline-custom:after,
.accordion-items .content p a:after,
.breadcrumb a:after
{
    content: ' ';
    position: absolute;
    left: 0;
    width: 100%;
    height: 1px;
    background: var(--blue);
    display: inline-block;
    bottom: 0;
    transition: all ease var(--fast);
}
span.error,
.invalid-feedback:not(:empty)
{
    color: var(--red);
    margin-top: 10px;
    font-size: 14px;
    line-height: 18px;
    display: inline-block;
}
.was-validated .form-control:invalid, .form-control.is-invalid,
.was-validated .form-control:valid, .form-control.is-valid
{
    background-image: none;
}
.gap-10{
    gap: 10px;
}
.ms-5{
    margin-left: 5px !important;
}
.ms-10{
    margin-left: 10px;
}
.ms-20{
    margin-left: 20px;
}
.ms-50{
    margin-left: 50px;
}
.me-10{
    margin-right: 10px;
}
.me-20{
    margin-right: 20px;
}
.mt-10{
    margin-top: 10px;
}
.mt-20{
    margin-top: 20px;
}
.mt-30{
    margin-top: 30px;
}
.mt-50{
    margin-top: 50px;
}
.mb-50{
    margin-bottom: 50px;
}
.mb-100{
    margin-bottom: 100px;
}
.mt-100{
    margin-top: 100px;
}
.pt-30{
    padding-top: 30px;
}
.pt-50{
    padding-top: 50px;
}
.pt-100{
    padding-top: 100px;
}
.pb-50{
    padding-bottom: 50px;
}
.pb-100{
    padding-bottom: 100px;
}
.ps-10{
    padding-left: 10px !important;;
}
.ps-20{
    padding-left: 20px !important;
}
.pe-10{
    padding-right: 10px !important;;
}
.pe-20{
    padding-right: 20px !important;;
}
.pe-50{
    padding-right: 50px;
}
a{
    color: var(--blue);
    text-decoration: underline;
}
b,
strong
{
    color: var(--black);
}
.flex-1{
    flex: 1;
}
button{
    padding: 0;
    background: none;
    border: 0;
}
h1,
h1 > a,
h2,
.page-title,
.digits,
.bg-digit
{
    font-family: EuclidCircularB-SemiBold;
}
b,
strong,
h3,
h6,
.services > li:after,
.tooltip,
.items .label,
.custom-table th,
.table-style > div > div:nth-child(1),
.circle-icons-block h4,
.accordion-items .title,
.heading,
.heading a,
.accordion-items .content p b,
.accordion-items .content p strong
{
    font-family: EuclidCircularB-Medium;
}
.btn-custom,
button.language,
/*.about-section p,*/
a,
h4,
.items .footer span,
.inactive-text,
.footer-bottom,
.font-medium,
.custom-alert,
.breadcrumb-item.active,
.navbar-nav > li.has-submenu > span
{
    font-family: EuclidCircularB-Regular;
}
.btn-custom .subtitle
{
    font-family: EuclidCircularB-Light;
}
b, strong{
    font-weight: normal;
}
.menu-opened #scroll-to-top{
    cursor: pointer;
}
.h-text-block{
    height: 0;
    overflow: hidden;
}
h1,
h1 > a{
    display: inline-block;
    line-height: 1;
    margin: 0;
    font-size: 22px;
    color: var(--black);
    opacity: 0;
    padding-top: 20px;
    transition: all ease var(--medium);
    text-decoration: none;
    z-index: -1;
}
h1 > a:hover{
    color: var(--black);
}
h2,
.page-title,
h3.section-title
{
    font-size: 36px;
    margin: 0;
    line-height: 1;
    color: var(--black);
    padding-right: 20px;
}
h3.section-title{
    font-size: 30px;
}
.error-action .page-title{
    font-size: 64px;
}
.subtitle{
    font-size: 14px;
    line-height: 1.3;
}
h3{
    font-size: 22px;
    margin: 0;
    color: var(--black);
}
h3{
    font-size: 22px;
    margin: 0;
    color: var(--black);
}
h3.title > a{
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
ul.news h3.title > a{
    -webkit-line-clamp: 3;
}
h4{
    font-size: 21px;
    margin: 0;
    line-height: 26px;
    color: var(--black);
}
h6{
    font-size: 18px;
    margin: 0;
    color: var(--blue);
    /*line-height: 1;*/
}
.breadcrumb{
    flex-wrap: nowrap;
    background: none;
    padding: 0;
}
.breadcrumb > li{
    white-space: nowrap;
    min-width: max-content;
    flex-shrink: 0;
}
.breadcrumb > li:last-child{
    min-width: auto;
    text-overflow: ellipsis;
    overflow: hidden;
    flex: 1;
}
.content ul{
    list-style: circle;
    margin-bottom: 20px;
    padding-left: 20px;
}
.content ul li{
    color: var(--blue);
}
.side-view{
    display: flex;
    flex-direction: column;
}
.side-view h6.position-relative{
    display: inline-block;
}
.side-view h6.position-relative > i{
    position: absolute;
    padding: 3px 8px;
    font-style: normal;
    text-transform: uppercase;
    font-size: 8px;
    letter-spacing: 2px;
    color: var(--white);
    background-color: var(--red);
    top: -5px;
    left: 110%;
}
.sticky-side{
    position: sticky;
    top: 100px;
}
div.loading{
    position: fixed;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    background: var(--white);
    z-index: 99;
}
.spinner,
.spinner2
{
    animation: rotate 2s linear infinite;
    z-index: 2;
    position: absolute;
    top: 50%;
    left: 50%;
    margin: -25px 0 0 -25px;
    width: 50px;
    height: 50px;
}
.spinner .path {
    animation: dash 1.5s ease-in-out infinite;
}
.spinner2 .path {
    stroke: var(--white);
    animation: dash2 1.5s ease-in-out infinite;
}
@keyframes rotate {
    100% {
        transform: rotate(360deg);
    }
}
@keyframes dash {
    0% {
        stroke-dasharray: 1, 150;
        stroke-dashoffset: 0;
        stroke: var(--red);
    }
    100% {
        stroke-dasharray: 90, 150;
        stroke-dashoffset: -124;
        stroke: var(--blue);
    }
}
@keyframes dash2 {
    0% {
        stroke-dasharray: 1, 150;
        stroke-dashoffset: 0;
    }
    50% {
        stroke-dasharray: 90, 180;
        stroke-dashoffset: 0;
    }
    100% {
        stroke-dasharray: 180, 150;
        stroke-dashoffset: -124;
    }
}
.breadcrumb{
    font-size: 16px;
    margin-bottom: 30px;
}
.breadcrumb-item.active{
    color: var(--dark-gray);
}
.breadcrumb a{
    text-decoration: none;
    color: var(--dark-gray);
}
.breadcrumb a:hover{
    color: var(--blue);
}
.breadcrumb-item + .breadcrumb-item::before{
    content: '•';
    font-size: 14px;
    margin-top: 3px;
    color: var(--gray);
}
.header.fixed h1,
.header.fixed h1 > a{
    opacity: 1;
    padding-top: 0;
    z-index: 1;
}
.title-section{
    transition: all ease var(--medium);
    opacity: 1;
    transform: translateY(0);
}
body.menu-opened .top-section .title-section{
    opacity: 0;
    transform: translateY(-30px);
}
.bg-light-gray-gradient{
    background: linear-gradient(320deg, #EDEDED 0%, #FAFAFA 72%, #FAFAFA 72%);
}
.circle-separator{
    position: relative;
    padding-left: 20px;
    padding-right: 5px;
}
.circle-separator::after{
    content: ' ';
    display: block;
    width: 8px;
    height: 8px;
    position: absolute;
    left: 0;
    top: 50%;
    border: 2px solid var(--red);
    margin-top: -4px;
    border-radius: 5px;
}
.btn-custom{
    cursor: pointer;
    padding: 12px 20px;
    color: var(--black);
    font-size: 17px;
    text-decoration: none;
    position: relative;
    line-height: 1;
    transition: all ease var(--medium);
    display: inline-block;
}
.btn-custom:is([disabled="disabled"]){
    opacity: 0.5;
    cursor: default;
}
.btn-custom > span{
    position: relative;
    z-index: 1;
    white-space: nowrap;
}
.btn-custom.transparent > span:before{
    content: ' ';
    position: absolute;
    background: var(--blue);
    left: 0;
    bottom: -5px;
    height: 2px;
    right: calc(100%);
    transition: all ease var(--fast);
}
.btn-custom.red-text.transparent > span:before{
    background: var(--red);
}
.btn-custom.transparent.active span:before,
.btn-custom.transparent:hover span:before,
.navbar-nav li:hover span:before
{
    right: 0;
}
.btn-custom:not(.transparent)::after{
    content: ' ';
    display: inline-block;
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    background: rgba(255, 255, 255, 0.2);
    transition: all ease var(--fast);
    opacity: 0;
    width: 100%;
    height: 100%;
}
.btn-custom:not(.transparent):not([disabled="disabled"]):hover::after{
    opacity: 1;
}
.btn-custom.btn-custom-sm{
    padding: 10px 15px;
    font-size: 15px;
}
.btn-custom.btn-custom-lg{
    font-size: 20px;
    padding: 20px 40px;
}
.btn-custom.with-icon{
    padding-right: 40px;
}
.btn-custom.btn-custom-lg.with-icon{
    padding-right: 60px;
}
.btn-custom.with-icon:before{
    content: ' ';
    background-image: url(../images/arrow-right-white.svg);
    background-position: center;
    background-repeat: no-repeat;
    display: inline-block;
    position: absolute;
    transition: all ease var(--fast);
    background-size: contain;
}
.btn-custom.with-icon:before{
    right: 20px;
    top: 14px;
    width: 12px;
    height: 12px;
}
.btn-custom.with-icon:hover:before{
    right: 15px;
}
.btn-custom.btn-custom-lg.with-icon:before{
    right: 30px;
    top: 22px;
    width: 16px;
    height: 16px;
}
.btn-custom.btn-custom-lg.with-icon:not([disabled="disabled"]):hover:before{
    right: 25px;
}
.btn-custom.blue{
    background: var(--blue);
    color: var(--white);
}
.btn-custom.red-text
{
    color: var(--red) !important;
}
.btn-custom .subtitle{
    font-size: 10px;
    position: absolute;
    right: -5px;
    padding: 3px 5px;
    background: var(--red);
    top: -5px;
    letter-spacing: 1px;
    text-transform: uppercase;
    z-index: 1;
}
.btn-custom.red,
#portfolio-categories li.active > button,
#portfolio-categories li.active > a
{
    background: var(--red);
    color: var(--white);
}
.btn-custom.light-gray,
#portfolio-categories li > button,
#portfolio-categories li > a
{
    background: var(--light-gray);
    color: var(--black);
}
.header{
    background: var(--white);
    -webkit-backdrop-filter: blur(15px);
    backdrop-filter: blur(15px);
    position: fixed;
    padding-top: 20px;
    padding-bottom: 20px;
    left: 0;
    right: 0;
    top: 0;
    z-index: 2;
    transition: all ease var(--medium);
}
.header .logo{
    position: relative;
}
.header .logo img{
    background: linear-gradient(45deg, var(--red) 5%, var(--blue) 100%);;
    transition: all ease var(--fast);
    width: 60px;
    height: 60px;
}
.header.fixed .logo img{
    width: 50px;
    height: 50px;
}
.header.fixed{
    background-color: rgba(255,255,255,0.85);
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.04);
    padding-top: 5px;
    padding-bottom: 5px;
}
.header-menu{
    align-self: center;
    flex: 1;
    text-align: right;
}
button.search{
    width: 28px;
    height: 28px;
    margin-left: 30px;
}
button.with-icon::after{
    content: ' ';
    background-repeat: no-repeat;
    background-position: center;
    display: inline-block;
    width: 28px;
    height: 28px;
    padding: 5px;
    opacity: 0.5;
    transition: all ease var(--medium);
}
button.search::after{
    background-image: url(../images/search.svg);
}
button.with-icon:hover:not([disabled="disabled"])::after{
    opacity: 1;
}
.navbar-nav{
    line-height: 1;
}
.navbar-nav li.last{
    margin-right: 15px;
}
button.language{
    margin-left: 15px;
}

.top-section{
    padding-top: 150px;
    transition: padding-top ease var(--medium);
}
body.menu-opened .top-section{
    padding-top: 137px;
}
body.menu-opened .about-section{
    padding-top: 140px;
}
.about-section p{
    font-size: 22px;
    color: var(--dark-gray);
    margin: 0;
}
.center-block:after{
    content: ' ';
    height: 1px;
    width: 100%;
    position: absolute;
    background: var(--light-gray);
    z-index: -1;
    top: 50%;
    left: 0;
    right: 0;
}
.since-en,
.since-ru
{
    flex-direction: row-reverse;
}
#since.digits{
    letter-spacing: 14px;
    line-height: initial;
}
.digits{
    font-size: 60px;
    color: var(--blue);
    background: var(--white);
    line-height: 1;
}
.digits-text{
    color: var(--blue);
    letter-spacing: 8px;
    padding-left: 10px;
    background: var(--white);
}
.partners:hover a{
    filter: grayscale(0);
}
.partners li{
    text-align: center;
}
.partners li a{
    display: inline-block;
    opacity: 0.5;
}
.partners li a:hover{
    opacity: 1;
}
.partners li a img.loading{
    filter: blur(5px) grayscale(100%);
}
.partners li a{
    filter: grayscale(100%);
    transition: all ease var(--medium);
}
.items > *{
    margin-bottom: 30px;
    position: relative;
}
.items *:hover a{
    color: var(--blue);
}
.items > * > *:hover .footer{
    bottom: 0;
    opacity: 1;
}
.items > * > *:hover .image > span
{
    transform: scale(0.8);
}
.items .image{
    display: inline-flex;
}
.items .portfolio-image{
    /*background: var(--white);*/
}
.items.news .image{
    overflow: hidden;
    background: var(--light-gray);
}
.items .image > .image-element {
    transform: scale(1.1);
    transition: all ease var(--medium);
}
.items > * > *:hover .image > .image-element
{
    transform: scale(1);
}
.items .label{
    position: absolute;
    top: 20px;
    padding: 3px 10px;
    font-style: normal;
    text-transform: uppercase;
    font-size: 12px;
    letter-spacing: 2px;
    color: var(--white);
    background-color: var(--red);
    box-shadow: 0 2px 3px rgba(0, 0, 0, 0.04);
    z-index: 1;
}
.items .image span{
    transform: scale(0.75);
    transition: all ease var(--medium);
    margin: auto;
    overflow: hidden;
}
.items .short{
    padding-bottom: 35px;
}
.items .short p{
    line-height: 23px;
    font-size: 17px;
    /*height: 70px;*/
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.items .footer{
    position: absolute;
    bottom: 20px;
    opacity: 0;
    color: var(--gray);
    font-size: 17px;
    transition: all ease var(--medium);
}
.items .footer a{
    font-size: 17px;
}
.items .footer a:hover{
    text-decoration: none;
}
.view-count{
    color: var(--blue);
}
.view-count::before{
    content: ' ';
    width: 18px;
    background: url(../images/view.svg) no-repeat center;
    display: inline-flex;
    height: 12px;
    align-self: center;
    margin-right: 5px;
}
.services h4{
    position: relative;
    z-index: 1;
}
.services > li > div{
    padding-right: 50px;
}
.services p{
    margin-bottom: 0;
}
.services:hover li{
    opacity: 0.25 !important;
    transition: all ease var(--medium) !important;
}
.services li:hover{
    opacity: 1 !important;
}
.services > li{
    position: relative;
}
.services > li:after{
    position: absolute;
    font-size: 100px;
    letter-spacing: 10px;
    top: -10px;
    left: 100px;
    color: var(--white);
    line-height: 1;
    counter-increment: my-sec-counter;
    content: '0' counter(my-sec-counter);
}
.services .text{
    font-size: 15px;
    line-height: 22px;
    position: relative;
    z-index: 1;
}
.services .button-block{
    position: absolute;
    bottom: 10px;
    transition: all ease var(--medium);
    opacity: 0;
}
.services > li > div{
    height: 100%;
}
.services * > *:hover .button-block{
    bottom: -10px;
    opacity: 1;
}

.social li{
    opacity: 0.75;
    transition: all ease var(--medium);
    filter: grayscale(100%);
}
.social li:hover{
    opacity: 1;
    filter: none;
}
footer{
    font-size: 16px;
}
footer a{
    color: var(--black);
}
.error-action .footer{
    margin-top: 0 !important;
    border-top: 0 !important;
}
.footer-bottom{
    transition: padding-bottom ease var(--slow);
}
footer a.underline-custom:after,
.submenu a:after,
.breadcrumb a:after
{
    background: var(--gray);
}
a.underline-custom.inactive-text:after{
    background: var(--gray);
}
a.inactive-text:hover{
    color: var(--gray);
}
.contact-badge{
    cursor: pointer;
    position: fixed;
    right: 30px;
    bottom: 30px;
    border-radius: 50%;
    width: 70px;
    height: 70px;
    background: linear-gradient(40deg, var(--blue) 10%, var(--light-blue) 145%);
    box-shadow: 0 15px 20px rgba(0, 0, 0, 0.15)
}

.tooltip{
    line-height: 150%;
    font-size: 16px;
}

/*Feedback start*/
.tags > li{
    margin-bottom: 10px;
    transition: all ease 3000ms;
}
.tags > li:last-child{
    margin-bottom: 0;
}
.tags > li > span,
.tags > li > a
{
    transition: all ease var(--medium);
    position: relative;
    cursor: pointer;
    display: inline-block;
    background-color: var(--light-gray);
}
.tags > li > a:hover{
    color: inherit;
}
.tags > li .remove-tag{
    opacity: 0;
    transition: all ease var(--medium);
    width: 28px;
    height: 28px;
    display: inline-block;
    position: absolute;
    background: url(../images/close-circle.svg) no-repeat center;
    visibility: hidden;
    right: 25px;
    top: 50%;
    margin-top: -15px;
}
.tags > li.active .remove-tag{
    opacity: 1;
    visibility: visible;
    right: 15px;
}
.tags > li.active > span,
.tags > li.active > a
{
    background-color: var(--red);
    color: var(--white);
}
#subject.tags > li.active > span,
#subject.tags > li.active > a
{
    /*padding-right: 50px;*/
}
/*Feedback end*/

/*Blog start*/
.keywords{
    font-size: 0;
}
.keywords li{
    display: inline-block;
    margin-right: 10px;
    margin-top: 10px;
    background: var(--light-gray);
    padding: 5px 10px;
    font-size: 16px;
    color: var(--black);
}
.news-image{
    background-color: var(--light-gray);
}
/*Blog end*/
/*Portfolio start*/
#portfolio-categories{
    white-space: nowrap;
}
/*Portfolio end*/
/*Portfolio inner start*/
.stores-link{
    font-size: 0;
}
.stores-link li{
    display: inline-block;
    margin-right: 20px;
}
.stores-link li a{
    display: inline-block;
    overflow: hidden;
}
.stores-link li.disabled a{
    cursor: default;
}
.stores-link li.disabled a::after{
    filter: grayscale(100%);
    opacity: 0.5;
}
.stores-link li:not(.disabled) a:hover{
    transform: scale(1.1);
}
.stores-link li a::after{
    width: 30px;
    height: 30px;
    display: inline-block;
}
.stores-link li.ios a::after{
    content: url(../images/app-store.svg);
}
.stores-link li.android a::after{
    content: url(../images/play-store.svg);
}

.portfolio-image{
    border: 5px solid rgba(255,255,255, 1);
    border-radius: 8px;
    overflow: hidden;
    display: inline-block;
}
.portfolio-image.portfolio-app img{
    border-radius: 10px;
}
.portfolio-image.portfolio-app{
    border-radius: 15px;
    box-shadow: 0 5px 5px rgba(0, 0, 0, 0.1);
}
.app-screens{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    row-gap: 35px;
    justify-content: center;
}
.portfolio-screens > .item{
    overflow: hidden;
    padding: 40px;
    margin-bottom: 50px;
}
.app-screens > .item{
    /*display: flex;*/
    position: relative;
    margin: 0;
    border: 0;
    padding: 30px;
}
.portfolio-screens > .item:last-child{
    margin-bottom: 0;
}
.app-screens > .item img{
    width: 100%;
    /*height: 100%;*/
    background: var(--black);
    overflow: hidden;
    border-radius: 10px;
}
/*Portfolio inner end*/

#loading{
    position: absolute;
    background: var(--white);
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    justify-content: center;
    z-index: 3;
    display: flex;
    align-items: center;
}
#loading > img{
}
.cookie-block{
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 10px 15px 15px;
    background-color: rgba(255,255,255,0.85);
    box-shadow: 0 -2px 5px rgba(0, 0, 0, 0.04);
    -webkit-backdrop-filter: blur(15px);
    backdrop-filter: blur(15px);
    text-align: center;
    font-size: 16px;
    transition: bottom ease var(--slow);
    z-index: 1;
}
.cookie-block.hide{
    bottom: -100px;
}
.cookie-block button{
    margin-top: 5px;
}
.messenger-items{
    position: relative;
}
.messenger-items > li{
    bottom: 0;
    position: absolute;
    white-space: nowrap;
    transition: all ease 500ms;
    width: 40px;
    height: 40px;
    background: red;
    border-radius: 20px;
    transform: scale(0);
}

.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label,
.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label
{
    color: var(--dark-gray);
}
.form-check-input{
    border: none !important;
    background-color: var(--blue) !important;
    border-radius: 0 !important;
    filter: none !important;
    box-shadow: none !important;
}
.form-radio-input{
    border: none !important;
    background-color: var(--blue) !important;
    border-radius: 50% !important;
    filter: none !important;
    box-shadow: none !important;
}

input[type=radio],
input[type=checkbox]
{
    visibility: hidden;
    position: absolute;
}
input[type=radio] + label,
input[type=checkbox] + label
{
    display: flex;
    align-items: center;
    gap: 10px;
}
input[type=radio] + label:before,
input[type=checkbox] + label:before
{
    height: 18px;
    width: 18px;
    content: ' ';
    display: inline-block;
    vertical-align: baseline;
    background: var(--blue);
}
input[type=radio]:checked + label:before,
input[type=checkbox]:checked + label:before
{
    background: var(--white);
    border: 5px solid var(--blue);
}

input[type=radio] + label:before{
    border-radius: 50%;
}

#contactform-recaptcha-recaptcha-feedback-from > div > div{
    /*text-align: right;*/
}
#contactform-recaptcha-recaptcha-feedback-from > div{
    width: auto !important;
    height: auto !important;
}

.bg-digit{
    padding: 5px 10px 5px 12px;
    background: var(--too-light-blue);
    color: var(--blue);
    letter-spacing: 2px;
    font-size: 34px;
}
.bg-digit-subtext{
    font-size: 17px;
    letter-spacing: 2px;
    margin-left: 2px;
    color: var(--dark-gray);
}

.custom-table{
    width: 100%;
}
.custom-table td,
.custom-table th
{
    padding: 10px 20px;
    background: var(--light-gray);
}
.custom-table tr:nth-child(2n) td,
.custom-table tr:nth-child(2n) th
{
    background: var(--white);
}
.custom-table th{
    font-weight: normal;
    color: var(--dark-gray);
}
.custom-table td{
    color: var(--black);
}

.table-style > div{
    background: var(--light-gray);
    padding: 10px 20px;
    display: flex;
}
.table-style > div > div:nth-child(1){
    color: var(--dark-gray);
}
.table-style > div > div:nth-child(2){
    color: var(--black);
}
.table-style > div:nth-child(2n){
    background: var(--white);
}

/*Advanced*/
#brief-form .form-floating textarea,
#resume-form .form-floating textarea
{
    padding: 0 !important;
}
#brief-form .form-floating input.no-padding,
#resume-form .form-floating input.no-padding
{
    height: auto !important;
    padding-top: 0;
    padding-bottom: 15px;
}
#brief-form .form-floating textarea.form-control,
#resume-form .form-floating textarea.form-control
{
    min-height: 120px;
}
.brief-block .title,
.resume-block .title
{
    margin-bottom: 5px;
    display: inline-block;
}
.brief-block .subtitle,
.resume-block .subtitle
{
    margin-bottom: 5px;
}

.circle-icons-block .subtitle{
    font-size: 15px;
    margin-top: 10px;
}
.circle-icons-block .underline-custom{
    font-size: 16px;
}
.circle-icon{
    height: 50px;
    display: flex;
    align-items: center;
}
.circle-icon::before{
    content: ' ';
    background-repeat: no-repeat;
    background-position: center;
    transform: scale(0.7);
    transition: all ease var(--fast);
    filter: grayscale(100%);
}
.circle-icons-block > div:hover .circle-icon::before{
    transform: scale(0.9);
    filter: none;
}
.circle-icon.requisites::before{
    background-image: url(../images/document.svg);
    width: 44px;
    height: 55px;
}
.circle-icon.brief::before{
    background-image: url(../images/tasks.svg);
    width: 52px;
    height: 40px;
}
.circle-icon.resume::before{
    background-image: url(../images/plus.svg);
    width: 44px;
    height: 44px;
}

.navbar-nav {
    display: flex;
    align-items: center;
}
.navbar-nav > ul > li:hover:after {
    transform: scale(1);
}
.navbar-nav > li {
    position: relative;
}
.navbar-nav > li.has-submenu > span{
    font-size: 17px;
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    text-transform: capitalize;
    color: var(--black);
    padding-top: 10px;
    padding-bottom: 9px;
}
.submenu li {
    text-align: left;
    transform-origin: bottom;
    padding: 3px 15px;
    white-space: nowrap;
}
.submenu.right li{
    text-align: right;
}
.submenu.right.lang-switcher{
    right: -15px;
    padding-right: 0;
}
.submenu li > a {
    padding: 5px 0;
    display: inline-block;
    text-wrap: nowrap;
    font-size: 16px;
    text-decoration: none;
}
.submenu {
    position: absolute;
    min-width: 100%;
    top: 100%;
    left: 0;
    padding: 0 5px 20px 5px;
    display: none;
    z-index: 1;
    text-align: left;
}
.submenu.right {
    right: 0;
    left: auto;
}
.navbar-nav > li:hover > .submenu {
    display: block;
}
.nav-hovered{
    transition: all ease var(--slow);
}
.nav-overlay{
    position: fixed;
    left: 0;
    top: 0;
    right: 0;
    background: rgb(255,255,255);
    background: linear-gradient(0deg, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 50%, rgba(255,255,255,1) 100%);
    opacity: 0;
    height: 0;
    transition: all ease var(--slow);
}
.nav-hovered .nav-overlay{
    opacity: 1;
    height: 400px;
}
@media only screen and (min-width: 768px){
    .submenu li{
        animation: enter 0.2s ease forwards;
        opacity: 0;
    }
    .submenu li:nth-child(1) {
        animation-duration: 0.2s;
        animation-delay: 0s;
    }
    .submenu li:nth-child(2) {
        animation-duration: 0.3s;
        animation-delay: 0.1s;
    }
    .submenu li:nth-child(3) {
        animation-duration: 0.4s;
        animation-delay: 0.2s;
    }
    .submenu li:nth-child(4) {
        animation-duration: 0.5s;
        animation-delay: 0.3s;
    }
    @keyframes enter {
        from {
            opacity: 0;
            transform: scaleY(0.98) translateY(10px);
        }
        to {
            opacity: 1;
            transform: none;
        }
    }
    @keyframes fade {
        from {
            opacity: 0;
        }
        to {
            opacity: 1;
        }
    }
}
.accordion-items > li{
    padding-top: 30px;
    padding-bottom: 30px;
    border-bottom: 1px solid var(--light-gray);
    cursor: pointer;
}
.accordion-items > li.active{
    padding-top: 30px;
    padding-bottom: 30px;
    border-bottom: 1px solid var(--light-gray);
    cursor: auto;
}
.accordion-items > li.active > div:first-child{
    cursor: pointer;
}
.accordion-items .title{
    font-size: 24px;
    color: var(--blue);
    line-height: normal;
}
.accordion-items .content{
    margin-top: 10px;
    margin-right: 50px;
}
.accordion-items .content p:last-child{
    margin-bottom: 0;
}

/*morph plus/minus*/
.plus-minus {
    min-width: 40px;
    min-height: 40px;
    position: relative;
}
.plus-minus span {
    position: absolute;
    transition: 300ms;
    background: var(--gray);
    border-radius: 2px;
}
.plus-minus span:first-child {
    top: 25%;
    bottom: 25%;
    width: 10%;
    left: 45%;
}
.plus-minus span:last-child {
    left: 25%;
    right: 25%;
    height: 10%;
    top: 45%;
}
.active .plus-minus span {
    transform: rotate(90deg);
}
.active .plus-minus span:last-child {
    left: 50%;
    right: 50%;
}
/*morph plus/minus end*/

.heading{
    font-size: 32px;
    color: var(--black);
    letter-spacing: 1px;
    line-height: normal;
}