@import url('https://fonts.googleapis.com/css?family=Noto+Sans:400,700&display=swap&subset=cyrillic-ext');
@font-face {
    font-family: 'Noto Sans';
    src: url('https://old.idma.ltd/data/fonts/NotoSans-SemiBold.ttf') format('truetype');
    font-style: normal;
    font-weight: 600;
}

*,
*:before,
*:after,
*:active,
*:focus {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    outline: none;
}

body {
    font-family: 'Noto Sans', Helvetica, Arial, sans-serif;
    font-weight: 400;
    font-size: 16px;
    color: #212B36;
}

a {
    text-decoration: none;
    color: inherit;
}

button {
    font-family: inherit;
    cursor: pointer;
}

img {
    display: block;
    max-width: 100%;
}

input::placeholder {
    opacity: 1;
    color: inherit;
    font-family: inherit;
}

.wrap {
    max-width: 1200px;
    padding-right: 15px;
    padding-left: 15px;
    margin-left: auto;
    margin-right: auto;
}

.circle-block img {
    display: none;
}

.btn {
    /*min-width: 120px;*/
    height: 50px;
    line-height: 48px;
    font-size: 15px;
    font-weight: 600;
    padding-left: 35px;
    padding-right: 35px;
    border-radius: 4px;
    border-width: 1px;
    border-style: solid;
    color: #212B36;
    border-color: #DEE5ED;
    background-color: #fff;
    cursor: pointer;
}

.btn:hover {
    background-color: #f5f5f5;
}

.btn:active {
    background-color: #DEE5ED;
}

.btn.green {
    color: #fff;
    background-color: #05CB63;
    border-color: #05CB63;
}

.btn.green:hover {
    background-color: #04B558;
}

.btn.green:active {
    background-color: #039046;
}

.title {
    font-weight: 600;
}

.block-title {
    font-size: 36px;
    line-height: 1.4;
    text-align: center;
}

.title-descr {
    font-size: 18px;
    margin-top: 20px;
    line-height: 1.6;
    color: #637381;
    text-align: center;
}

.block-homescreen {
    padding-top: 120px;
}

.block-homescreen .wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.block-homescreen .wrap>div {
    position: relative;
    z-index: 3;
}

.block-homescreen .home-label {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    color: #637381;
    letter-spacing: 1.5px;
}

.block-homescreen .home-title {
    font-size: 42px;
    line-height: 1.4;
    margin-top: 20px;
    font-weight: 700;
}

.block-homescreen .home-descr {
    font-size: 20px;
    line-height: 1.6;
    max-width: 860px;
    margin-top: 30px;
    color: #637381;
}

.block-homescreen .home-buttons {
    margin-top: 80px;
    display: flex;
    align-items: center;
}

.block-homescreen .home-buttons .btn:not(:last-child) {
    margin-right: 20px;
}

.block-stages {
    margin-top: 120px;
}

.block-stages .stage-items {
    width: 100%;
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
}

.block-stages .stage-item {
    width: 25%;
    border: 1px solid #DEE5ED;
    border-left-width: 0;
    padding: 30px;
    display: flex;
    align-items: center;
    text-align: center;
    flex-direction: column;
}

.block-stages .stage-item:nth-child(4n+1) {
    border-left-width: 1px;
}

.block-stages .stage-item:nth-child(n+5) {
    border-top-width: 0;
}

.block-stages .stage-item .title {
    color: #05CB63;
    line-height: 1.5;
}

.block-stages .stage-item .descr {
    color: #637381;
    margin-top: 20px;
    font-size: 14px;
    line-height: 1.5;
}

.block-stages .stage-item .link {
    color: #05CB63;
    line-height: 1;
    font-size: 15px;
    margin-top: 20px;
    display: block;
}

.block-roadmap {
    margin-top: 140px;
}

.block-roadmap .wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.block-roadmap .work-steps {
    max-width: 770px;
    width: 100%;
    position: relative;
    padding-left: 85px;
    margin-top: 50px;
}

.block-roadmap .work-steps:before {
    display: block;
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    width: 1px;
    background-color: #DEE5ED;
    left: 13px;
}

.block-roadmap .work-step {
    position: relative;
    border: 1px solid #DEE5ED;
    padding: 20px 30px;
}

.block-roadmap .work-step:before {
    display: block;
    content: '';
    width: 23px;
    height: 23px;
    border-radius: 50%;
    background-color: #05CB63;
    box-shadow: 0 0 0 6px #fff inset, 0 0 0 1px #DEE5ED;
    position: absolute;
    left: -84px;
    top: calc(50% - 11.5px);
}

.block-roadmap .work-step:not(:last-child) {
    margin-bottom: 30px;
}

.block-roadmap .work-step .duration {
    font-weight: 700;
    color: #637381;
    display: flex;
    align-items: baseline;
    letter-spacing: 1.5px;
}

.block-roadmap .work-step .duration .value {
    font-size: 12px;
    margin-right: 4px;
}

.block-roadmap .work-step .duration .value-title {
    font-size: 9px;
}

.block-roadmap .work-step .title {
    line-height: 1.5;
    margin-top: 10px;
}

.block-roadmap .work-step .descr {
    font-size: 14px;
    line-height: 1.5;
    color: #637381;
    margin-top: 10px;
}

.block-roadmap .annotation {
    display: flex;
    align-items: baseline;
    padding-left: 85px;
    margin-top: 30px;
    max-width: 770px;
    width: 100%;
}

.block-roadmap .annotation .value-title {
    color: #637381;
    margin-right: 10px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.block-roadmap .annotation .value {
    font-size: 22px;
    line-height: 1.4;
}

.block-cases {
    margin-top: 160px;
}

.block-cases .wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.block-cases .cases {
    margin-top: 40px;
    display: flex;
    align-items: stretch;
    width: 100%;
}

.block-cases .case-item {
    width: calc(100% / 3);
    border: 1px solid #DEE5ED;
    border-left-width: 0;
    padding: 40px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.block-cases .case-item:nth-child(3n+1) {
    border-left-width: 1px;
}

.block-cases .case-item .photo {
    display: flex;
    justify-content: center;
    align-items: center;
}

.block-cases .case-item .photo img {
    width: 100%;
    max-width: 310px;
}

.block-cases .case-item .title {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.5;
    margin-top: 20px;
}

.block-cases .case-item .descr {
    line-height: 1.5;
    color: #637381;
    margin-top: 20px;
}

.block-cases .case-item .case-link {
    margin-top: 30px;
    font-size: 15px;
    color: #05CB63;
    display: block;
}

.block-cases .case-item .case-link span {
    position: absolute;
    transition: 0.3s all ease-in-out;
    padding-left: 3px;
}

.block-cases .case-item .case-link:hover {
    color: #04B558;
}

.block-cases .case-item .case-link:hover span {
    padding-left: 8px;
}

.block-cases .all-cases-link {
    margin-top: 40px;
}

.block-prices {
    margin-top: 160px;
}

.block-prices .prices {
    margin-top: 40px;
    display: flex;
    align-items: stretch;
    width: 100%;
}

.block-prices .price-group {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex-grow: 1;
    width: calc(100% / 3);
}

.block-prices .price-group:nth-child(3n+1) .price-item {
    border-left-width: 1px;
}

.block-prices .price-item {
    width: 100%;
    border: 1px solid #DEE5ED;
    border-left-width: 0;
    padding: 40px 30px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    flex-grow: 1;
}

.block-prices .price-item .title {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.5;
}

.block-prices .price-item .descr {
    line-height: 1.5;
    color: #637381;
    margin-top: 20px;
}

.block-prices .price-item .value {
    font-weight: 600;
    line-height: 1.5;
    margin-top: 11px;
}

.block-prices .price-item .order-btn {
    margin-top: 20px;
}

.block-prices .price-about-link {
    flex-grow: 0;
    display: block;
    margin-top: 30px;
    padding-right: 24px;
    position: relative;
    font-size: 15px;
    color: #05CB63;
    cursor: pointer;
}

.block-prices .price-about-link:after {
    display: block;
    content: '';
    position: absolute;
    right: 0;
    top: calc(50% - 7px);
    width: 16px;
    height: 16px;
    background: transparent url('https://old.idma.ltd/data/images/plus.svg') center no-repeat;
    background-size: cover;
}

.block-prices .price-about-link.active:after {
    background-image: url('https://old.idma.ltd/data/images/minus.svg');
}

.block-prices .descriptions {
    margin-top: 50px;
}

.block-prices .price-about-item {
    overflow: hidden;
    max-height: 0;
    transition: 0.5s;
}

.block-prices .price-about-item.active {
    max-height: unset !important;
}

.block-prices .about-content {
    border: 1px solid #DEE5ED;
    padding: 40px;
}

.block-prices .about-content .title {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.5;
}

.block-prices .about-content .title span {
    color: #05CB63;
    text-transform: uppercase;
}

.block-prices .about-content .descr {
    font-size: 14px;
    line-height: 1.6;
    color: #637381;
}

.block-prices .about-content .features {
    margin-top: 30px;
    border-top: 1px solid #DEE5ED;
    border-bottom: 1px solid #DEE5ED;
}

.block-prices .about-content .feature {
    padding-top: 15px;
    padding-bottom: 15px;
    font-size: 14px;
    line-height: 1.5;
}

.block-prices .about-content .feature:not(:last-child) {
    border-bottom: 1px solid #DEE5ED;
}

.block-prices .bottom-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 30px;
    margin-top: 40px;
    font-size: 14px;
    line-height: 1.5;
    background-color: #f8f8f8;
    margin-bottom: 40px;
}

.block-prices .contact-btn {
    height: 38px;
    line-height: 36px;
    padding-left: 11px;
    padding-right: 11px;
}

body.modal-open {
    height: 100vh;
    overflow: hidden;
}

body.modal-open main.content {
    filter: blur(4px);
}

.header-blur {
    filter: blur(4px);
}

.modal {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 9999;
    opacity: 0;
    pointer-events: none;
    transition: 0.5s;
}

.modal.open {
    opacity: 1;
    pointer-events: auto;
    transition: 0.5s;
}

.modal .overlay {
    background-color: rgba(0, 0, 0, 0.6);
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: 1;
}

.modal .body {
    display: block;
    position: relative;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: #fff;
    border: 1px solid rgba(53, 102, 133, 0.6);
    max-width: 440px;
    padding: 40px;
    z-index: 2;
}

.modal .close {
    position: absolute;
    top: 15px;
    right: 15px;
    width: 25px;
    height: 25px;
    border: 0;
    background: transparent url('https://old.idma.ltd/data/images/close.svg') center no-repeat;
    background-size: 15px 15px;
}

.modal .title {
    font-size: 34px;
    font-weight: 700;
    line-height: normal;
}

.modal .descr {
    font-size: 14px;
    color: #637381;
    margin-top: 20px;
}

.modal .form {
    display: block;
    margin-top: 25px;
}

.modal .input {
    height: 52px;
    display: block;
    line-height: 51px;
    border: 0;
    border-bottom: 1px solid rgba(99, 115, 129, 0.4);
    padding-left: 15px;
    padding-right: 15px;
    font-size: 16px;
    font-weight: 400;
    color: #637381;
    width: 100%;
    background-color: transparent;
}

.modal .input:not(:last-child) {
    margin-bottom: 25px;
}

.modal .checkbox-label {
    display: flex;
    align-items: flex-start;
    width: 100%;
}

.modal .checkbox-default {
    display: none;
}

.modal .checkbox-custom {
    position: relative;
    width: 14px;
    height: 14px;
    border: 1px solid #707070;
    background-color: #fff;
    position: relative;
    margin-right: 10px;
    flex-shrink: 0;
}

.modal .checkbox-custom:before {
    display: block;
    position: absolute;
    top: 3px;
    left: 3px;
    right: 3px;
    bottom: 3px;
    background-color: #707070;
}

.modal .checkbox-default+.checkbox-custom:before {
    content: '';
}

.modal .checkbox-text {
    font-size: 11px;
}

.modal .submit-btn {
    height: 56px;
    line-height: 54px;
    font-size: 16px;
    width: 100%;
    margin-top: 40px;
    font-weight: 700;
    display: block;
}

@media screen and (max-width: 1200px) {
    .block-title {
        font-size: 34px;
    }
    section.block+section.block {
        margin-top: 100px;
    }
    /*section.block + section.block,
	.footer {
		margin-top: 100px;
	}*/
    .block-homescreen .home-title {
        font-size: 40px;
    }
    .block-homescreen .home-descr {
        font-size: 18px;
    }
    .block-stages .stage-item {
        padding: 2.5%;
    }
    .block-cases .case-item {
        padding: 4%;
    }
    .block-prices .price-item {
        padding: 11.4% 8.5%;
    }
    section.block+section.block {
        margin-top: 100px;
    }
    .modal .title {
        font-size: 32px;
    }
}

@media screen and (max-width: 1170px) {
    .wrap {
        padding-right: 5px;
        padding-left: 5px;
    }
}

@media screen and (max-width: 1024px) {
    .block-title {
        font-size: 32px;
    }
    .title-descr {
        font-size: 16px;
    }
    section.block+section.block {
        margin-top: 90px;
    }
    /*section.block + section.block,
	.footer {
		margin-top: 90px;
	}*/
    .block-homescreen .home-title {
        font-size: 38px;
    }
    .block-stages .stage-item {
        width: calc(100% / 3);
    }
    .block-stages .stage-item:nth-child(4n+1) {
        border-left-width: 0;
    }
    .block-stages .stage-item:nth-child(3n+1) {
        border-left-width: 1px;
    }
    .block-stages .stage-item:nth-child(n+5) {
        border-top-width: initial;
    }
    .block-stages .stage-item:nth-child(n+4) {
        border-top-width: 0px;
    }
    .modal .title {
        font-size: 30px;
    }
}

@media screen and (max-width: 768px) {
    .wrap {
        padding: 0 5%;
    }
}

@media screen and (max-width: 960px) {
    .block-homescreen .home-title {
        font-size: 36px;
    }
    /*.footer .text {
		margin-bottom: 30px;
	}
	.footer .menu-column:not(:last-child) {
		margin-right: 30px;
	}*/
}

@media screen and (max-width: 880px) {
    .block-title {
        font-size: 30px;
    }
    section.block+section.block {
        margin-top: 80px;
    }
    /*section.block + section.block,
	.footer {
		margin-top: 80px;
	}*/
    .block-homescreen .home-title {
        font-size: 34px;
    }
    .block-roadmap .work-steps {
        padding-left: 50px;
    }
    .block-roadmap .work-step::before {
        left: -49px;
    }
    /*.footer .wrap {
		justify-content: space-between;
	}
	.footer .menu {
		order: 1;
	}
	.footer .contacts {
		order: 2;
	}
	.footer .text {
		order: 3;
		margin-bottom: 0;
		margin-top: 30px;
	}*/
}

@media screen and (max-width: 768px) {
    section.block+section.block {
        margin-top: 70px;
    }
    /*section.block + section.block,
	.footer {
		margin-top: 70px;
	}.footer {
		padding-top: 50px;
		padding-bottom: 50px;
	}*/
    .block-homescreen .home-title {
        font-size: 32px;
    }
    .block-homescreen .home-descr {
        font-size: 16px;
    }
    .block-stages .stage-item {
        width: 50%;
    }
    .block-stages .stage-item:nth-child(3n+1) {
        border-left-width: 0;
    }
    .block-stages .stage-item:nth-child(2n+1) {
        border-left-width: 1px;
    }
    .block-stages .stage-item:nth-child(n+4) {
        border-top-width: initial;
    }
    .block-stages .stage-item:nth-child(n+3) {
        border-top-width: 0;
    }
    .block-stages .stage-item,
    .block-cases .case-item,
    .block-prices .price-item,
    .block-prices .about-content,
    .block-roadmap .work-step,
    .modal .body {
        padding: 20px;
    }
    .modal .title {
        font-size: 28px;
    }
    .block-roadmap .work-steps,
    .block-cases .cases,
    .block-prices .prices,
    .block-cases .all-cases-link,
    .block-prices .bottom-content {
        margin-top: 30px;
    }
    .block-cases .cases,
    .block-prices .prices {
        flex-direction: column;
        max-width: 640px;
        margin-left: auto;
        margin-right: auto;
    }
    .block-cases .case-item,
    .block-prices .price-group {
        width: 100%;
        border-left-width: 1px;
    }
    .block-prices .price-group .price-item {
        border-left-width: 1px;
    }
    .block-cases .case-item:not(:first-child) {
        border-top-width: 0;
    }
    .block-prices .price-group:not(:last-child),
    .block-roadmap .work-step:not(:last-child) {
        margin-bottom: 30px;
    }
    .block-roadmap .annotation {
        padding-left: 0;
        text-align: center;
        justify-content: center;
        flex-wrap: wrap;
    }
    /*.footer .menu {
		margin-right: 0;
		width: 100%;
		margin-bottom: 30px;
	}
	.footer .contacts {
		width: 50%;
		max-width: 50%;
	}
	.footer .text {
		margin-right: 0;
		margin-top: 0;
		width: 50%;
		max-width: 50%;
	}*/
}

.home-buttons-blc {
    display: flex;
}

@media screen and (max-width: 640px) {
    .block-homescreen .home-buttons .home-buttons-blc .btn:not(:last-child) {
        margin-right: 20px;
    }
    .block-title {
        font-size: 28px;
        line-height: 1.2;
    }
    .title-descr,
    .block-homescreen .home-label {
        font-size: 11px;
    }
    .title-descr,
    .portfolio-p {
        font-size: 13px;
    }
    .block-homescreen .home-descr {
        line-height: 1.4;
        font-size: 13px;
    }
    .block-homescreen .home-title {
        font-size: 24px;
    }
    .block-homescreen .home-title br,
    .block-homescreen .home-descr br {
        display: none;
    }
    .block-homescreen .home-buttons {
        margin-top: 50px;
        flex-direction: column;
    }
    .block-homescreen .home-buttons .btn:not(:last-child) {
        margin-bottom: 20px;
        margin-right: 0;
    }
    .block-stages .stage-items {
        flex-direction: column;
    }
    .block-stages .stage-item {
        width: 100%;
        border-left-width: 1px;
    }
    .block-stages .stage-item:nth-child(3n+1) {
        border-left-width: 1px;
    }
    .block-stages .stage-item:not(:first-child) {
        border-top-width: 0;
    }
    .block-roadmap .work-steps {
        padding-left: 30px;
    }
    .block-roadmap .work-step::before {
        left: -29px;
    }
}

@media screen and (max-width: 540px) {
    .block-prices .price-about-link {
        margin-top: 20px;
    }
    .block-roadmap .annotation .value {
        font-size: 20px;
    }
    .block-roadmap .annotation .value-title {
        font-size: 10px;
    }
    /*.footer .wrap {
		flex-direction: column;
		align-items: center;
	}
	.footer .menu {
		flex-direction: column;
		align-items: center;
	}
	.footer .menu-column:not(:last-child) {
		margin-right: 0;
		margin-bottom: 30px;
	}
	.footer .menu-group,
	.footer .contacts {
		align-items: center;
		max-width: 100%;
		text-align: center;
	}
	.footer .menu-group:not(:last-child) {
		margin-bottom: 30px;
	}
	.footer .menu-group .title {
		margin-bottom: 10px;
	}
	.footer .text {
		max-width: 480px;
		width: 100%;
		text-align: center;
		align-items: center;
		margin-top: 30px;
	}*/
}

@media screen and (max-width: 480px) {
    .block-stages .stage-item,
    .block-cases .case-item,
    .block-prices .price-item,
    .block-prices .about-content,
    .block-roadmap .work-step,
    .modal .body {
        padding: 15px 10px;
    }
}

#cases-connect p {
    font-weight: normal;
    font-size: 16px;
    line-height: 150%;
    color: #637381;
    margin-bottom: 30px;
}

#cases-connect ul,
#cases-connect ol {
    padding-left: 15px;
}

#cases-connect ul li,
#cases-connect ol li {
    font-size: 16px;
    line-height: 180%;
    color: #637381;
}

#cases-connect img {
    margin: 100px auto 30px;
    display: block;
    box-shadow: 0px 4px 70px rgba(0, 0, 0, 0.25);
    border-radius: 16px;
}

#cases-connect h1 {
    font-weight: bold;
    font-size: 28px;
    line-height: 140%;
    color: #212B36;
    margin-bottom: 30px;
}

@media screen and (max-width: 992px) {
    .circle-block {
        z-index: -1 !important;
        max-height: unset !important;
    }
    .circle-block img {
        display: block;
    }
    .circle-block .boxes {
        display: none;
    }
    #cases-connect h1 {
        font-size: 32px;
    }
}

@media screen and (max-width: 768px) {
    #cases-connect p {
        font-size: 12px;
        margin-bottom: 15px;
    }
    #cases-connect ul li,
    #cases-connect ol li,
    #cases-connect ul ol,
    #cases-connect ol ol {
        font-size: 12px;
    }
    #cases-connect h1 {
        font-size: 16px;
    }
}