/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
html {
    line-height: 1.15;
    -webkit-text-size-adjust: 100%
}

body {
    margin: 0
}

main {
    display: block
}

h1 {
    font-size: 2em;
    margin: .67em 0
}

hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible
}

a {
    background-color: transparent
}

b, strong {
    font-weight: bolder
}

code {
    font-family: monospace, monospace;
    font-size: 1em
}

small {
    font-size: 80%
}

sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

img {
    border-style: none
}

button, input, optgroup, select, textarea {
    font-family: inherit;
    font-size: 100%;
    line-height: 1.15;
    margin: 0
}

button, input {
    overflow: visible
}

button, select {
    text-transform: none
}

[type=button], [type=reset], [type=submit], button {
    -webkit-appearance: button
}

[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner {
    border-style: none;
    padding: 0
}

[type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring, button:-moz-focusring {
    outline: 1px dotted ButtonText
}

fieldset {
    padding: .35em .75em .625em
}

legend {
    box-sizing: border-box;
    color: inherit;
    display: table;
    max-width: 100%;
    padding: 0;
    white-space: normal
}

progress {
    vertical-align: baseline
}

textarea {
    overflow: auto
}

[type=checkbox], [type=radio] {
    box-sizing: border-box;
    padding: 0
}

[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {
    height: auto
}

[type=search] {
    -webkit-appearance: textfield;
    outline-offset: -2px
}

[type=search]::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

details {
    display: block
}

[hidden], template {
    display: none
}

html {
    box-sizing: border-box;
    font-family: sans-serif
}

*, :after, :before {
    box-sizing: inherit
}

dd, dl, h1, h2, h3, h4, h5, hr, p {
    margin: 0
}

button {
    background: transparent;
    padding: 0
}

button:focus {
    outline: 1px dotted;
    outline: 5px auto -webkit-focus-ring-color
}

fieldset, ol, ul {
    margin: 0;
    padding: 0
}

ol, ul {
    list-style: none
}

html {
    font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;
    line-height: 1.5
}

*, :after, :before {
    border: 0 solid #e2e8f0
}

hr {
    border-top-width: 1px
}

img {
    border-style: solid
}

textarea {
    resize: vertical
}

input::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
    color: #a0aec0
}

input::-moz-placeholder, textarea::-moz-placeholder {
    color: #a0aec0
}

input:-ms-input-placeholder, textarea:-ms-input-placeholder {
    color: #a0aec0
}

input::-ms-input-placeholder, textarea::-ms-input-placeholder {
    color: #a0aec0
}

input::placeholder, textarea::placeholder {
    color: #a0aec0
}

[role=button], button {
    cursor: pointer
}

table {
    border-collapse: collapse
}

h1, h2, h3, h4, h5 {
    font-size: inherit;
    font-weight: inherit
}

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

button, input, optgroup, select, textarea {
    padding: 0;
    line-height: inherit;
    color: inherit
}

code {
    font-family: Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace
}

canvas, embed, iframe, img, object, svg, video {
    display: block;
    vertical-align: middle
}

img, video {
    max-width: 100%;
    height: auto
}

.container {
    width: 100%
}

@media (min-width: 768px) {
    .container {
        max-width: 768px
    }
}

@media (min-width: 1440px) {
    .container {
        max-width: 1440px
    }
}

.bg-white {
    background-color: #fff
}

.bg-primary {
    background-color: #2d344e
}

.bg-btn-primary, .bg-secondary {
    background-color: #4290fc
}

.hover\:bg-btn-hover:hover, .hover\:bg-tab-question:hover {
    background-color: #1a9ede
}

.border-gray-300 {
    border-color: #e2e8f0
}

.border-gray-500 {
    border-color: #a0aec0
}

.border-primary {
    border-color: #2d344e
}

.rounded {
    border-radius: .25rem
}

.rounded-custom-right {
    border-radius: 0 3px 3px 0
}

.rounded-custom-left {
    border-radius: 3px 0 0 3px
}

.rounded-custom {
    border-radius: 8px
}

.border {
    border-width: 1px
}

.border-b-2 {
    border-bottom-width: 2px
}

.border-b {
    border-bottom-width: 1px
}

.cursor-pointer {
    cursor: pointer
}

.block {
    display: block
}

.inline-block {
    display: inline-block
}

.inline {
    display: inline
}

.flex {
    display: -webkit-box;
    display: flex
}

.table {
    display: table
}

.table-cell {
    display: table-cell
}

.hidden {
    display: none
}

.flex-col {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column
}

.items-start {
    -webkit-box-align: start;
    align-items: flex-start
}

.items-center {
    -webkit-box-align: center;
    align-items: center
}

.justify-start {
    -webkit-box-pack: start;
    justify-content: flex-start
}

.justify-center {
    -webkit-box-pack: center;
    justify-content: center
}

.justify-between {
    -webkit-box-pack: justify;
    justify-content: space-between
}

.justify-around {
    justify-content: space-around
}

.float-left {
    float: left
}

.font-sans {
    font-family: Open Sans, sans-serif
}

.font-ubuntu {
    font-family: Ubuntu, sans-serif
}

.font-medium {
    font-weight: 500
}

.font-bold {
    font-weight: 700
}

.font-black {
    font-weight: 900
}

.h-1 {
    height: .25rem
}

.h-13 {
    height: 3.5rem
}

.h-screen {
    height: 100vh
}

.leading-snug {
    line-height: 1.375
}

.leading-extra-tight {
    line-height: 1.075
}

.my-24 {
    margin-top: 6rem;
    margin-bottom: 6rem
}

.mx-auto {
    margin-left: auto;
    margin-right: auto
}

.mb-2 {
    margin-bottom: .5rem
}

.mt-3 {
    margin-top: .75rem
}

.mb-3 {
    margin-bottom: .75rem
}

.mr-4 {
    margin-right: 1rem
}

.mb-4 {
    margin-bottom: 1rem
}

.mt-5 {
    margin-top: 1.25rem
}

.mb-5 {
    margin-bottom: 1.25rem
}

.mb-6 {
    margin-bottom: 1.5rem
}

.mb-8 {
    margin-bottom: 2rem
}

.mb-10 {
    margin-bottom: 2.5rem
}

.mt-12 {
    margin-top: 3rem
}

.mb-12 {
    margin-bottom: 3rem
}

.mb-16 {
    margin-bottom: 4rem
}

.mb-20 {
    margin-bottom: 5rem
}

.mb-24 {
    margin-bottom: 6rem
}

.mb-32 {
    margin-bottom: 8rem
}

.-ml-1 {
    margin-left: -.25rem
}

.-mt-24 {
    margin-top: -6rem
}

.min-w-full {
    min-width: 100%
}

.object-fill {
    -o-object-fit: fill;
    object-fit: fill
}

.opacity-0 {
    opacity: 0
}

.opacity-50 {
    opacity: .5
}

.focus\:outline-none:focus {
    outline: 0
}

.overflow-auto {
    overflow: auto
}

.overflow-hidden {
    overflow: hidden
}

.scrolling-auto {
    -webkit-overflow-scrolling: auto
}

.p-2 {
    padding: .5rem
}

.p-8 {
    padding: 2rem
}

.py-2 {
    padding-top: .5rem;
    padding-bottom: .5rem
}

.py-3 {
    padding-top: .75rem;
    padding-bottom: .75rem
}

.px-3 {
    padding-left: .75rem;
    padding-right: .75rem
}

.py-4 {
    padding-top: 1rem;
    padding-bottom: 1rem
}

.px-4 {
    padding-left: 1rem;
    padding-right: 1rem
}

.px-5 {
    padding-left: 1.25rem;
    padding-right: 1.25rem
}

.px-6 {
    padding-left: 1.5rem;
    padding-right: 1.5rem
}

.px-8 {
    padding-left: 2rem;
    padding-right: 2rem
}

.pl-0 {
    padding-left: 0
}

.pr-2 {
    padding-right: .5rem
}

.pl-3 {
    padding-left: .75rem
}

.pt-4 {
    padding-top: 1rem
}

.pb-4 {
    padding-bottom: 1rem
}

.pt-6 {
    padding-top: 1.5rem
}

.pl-6 {
    padding-left: 1.5rem
}

.pt-8 {
    padding-top: 2rem
}

.pb-8 {
    padding-bottom: 2rem
}

.pl-8 {
    padding-left: 2rem
}

.pt-12 {
    padding-top: 3rem
}

.pr-12 {
    padding-right: 3rem
}

.pb-12 {
    padding-bottom: 3rem
}

.pt-18 {
    padding-top: 4.5rem
}

.pt-20 {
    padding-top: 5rem
}

.pointer-events-none {
    pointer-events: none
}

.static {
    position: static
}

.fixed {
    position: fixed
}

.absolute {
    position: absolute
}

.relative {
    position: relative
}

.right-0 {
    right: 0
}

.left-0 {
    left: 0
}

.resize {
    resize: both
}

.shadow {
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px 0 rgba(0, 0, 0, .06)
}

.text-left {
    text-align: left
}

.text-center {
    text-align: center
}

.text-black {
    color: #000
}

.text-white {
    color: #fff
}

.text-blue-900 {
    color: #2a4365
}

.text-primary {
    color: #2d344e
}

.text-svg {
    color: #c4cfe0
}

.text-secondary {
    color: #4290fc
}

.hover\:text-btn-hover:hover {
    color: #1a9ede
}

.text-xs {
    font-size: .75rem
}

.text-sm {
    font-size: .875rem
}

.text-base {
    font-size: 1rem
}

.text-lg {
    font-size: 1.125rem
}

.text-2xl {
    font-size: 1.5rem
}

.text-3xl {
    font-size: 1.875rem
}

.text-4xl {
    font-size: 2.25rem
}

.text-5xl {
    font-size: 3rem
}

.uppercase {
    text-transform: uppercase
}

.lowercase {
    text-transform: lowercase
}

.tracking-wide {
    letter-spacing: .025em
}

.tracking-wider {
    letter-spacing: .05em
}

.visible {
    visibility: visible
}

.truncate, .whitespace-no-wrap {
    white-space: nowrap
}

.truncate {
    overflow: hidden;
    text-overflow: ellipsis
}

.w-4 {
    width: 1rem
}

.w-53 {
    width: 13.5rem
}

.w-56 {
    width: 14rem
}

.w-1\/2 {
    width: 50%
}

.w-1\/3 {
    width: 33.333333%
}

.w-2\/3 {
    width: 66.666667%
}

.w-1\/5 {
    width: 20%
}

.w-2\/5 {
    width: 40%
}

.w-3\/5 {
    width: 60%
}

.w-4\/5 {
    width: 80%
}

.w-1\/12 {
    width: 8.333333%
}

.w-2\/12 {
    width: 16.666667%
}

.w-8\/12 {
    width: 66.666667%
}

.w-full {
    width: 100%
}

.z-50 {
    z-index: 50
}

body, html {
    overflow-x: hidden;
    scroll-behavior: smooth;
    background: -webkit-gradient(linear, left top, left bottom, from(#f6f9fe), to(#f9fbff));
    background: linear-gradient(180deg, #f6f9fe, #f9fbff)
}

.scale {
    -webkit-transform: scale(1.3);
    transform: scale(1.3)
}

.transition {
    -webkit-transition: all .3s ease;
    transition: all .3s ease
}

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

.closed {
    display: none !important
}

.post {
    height: 560px;
    position: relative;
    overflow: hidden
}

@media (min-width: 1440px) {
    .container {
        padding-left: 5rem;
        padding-right: 5rem
    }
}

@media (min-width: 768px) and (max-width: 1439px) {
    .container {
        padding-left: 5rem;
        padding-right: 5rem;
        max-width: 100%
    }
}

@media (max-width: 767px) {
    .post {
        height: 400px
    }

    .container {
        padding-left: 1rem;
        padding-right: 1rem
    }
}

.btn_animate {
    display: inline-block;
    position: relative;
    overflow: hidden
}

.btn_animate:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 150%;
    height: 150%;
    background: -webkit-gradient(linear, right top, left top, from(rgba(121, 117, 117, 0)), color-stop(hsla(0, 0%, 100%, .8)), to(rgba(121, 117, 117, 0))) no-repeat -2em 0;
    background: linear-gradient(270deg, rgba(121, 117, 117, 0), hsla(0, 0%, 100%, .8), rgba(121, 117, 117, 0)) no-repeat -2em 0;
    background-size: 2em 100%;
    -webkit-transform: skewX(-50deg);
    transform: skewX(-50deg)
}

.project {
    box-sizing: border-box;
    display: -webkit-box;
    display: flex;
    flex-wrap: wrap;
    min-height: 640px;
    overflow: hidden;
    position: relative
}

@media screen and (max-width: 600px) {
    .project {
        height: auto !important;
        min-height: 100vw
    }
}

@media print {
    .project {
        overflow: visible
    }
}

.project:after, .project:before {
    content: "";
    display: block;
    left: 0;
    position: absolute;
    width: 100%
}

.project:before {
    height: 50%;
    top: 0
}

.project:after {
    bottom: 0;
    height: 200px
}

.project:hover .project__background-inner {
    -webkit-transform: scale(1.1);
    transform: scale(1.1)
}

.project__header-link, .project a {
    -webkit-transition: color .2s ease-in-out, opacity .2s ease-in-out;
    transition: color .2s ease-in-out, opacity .2s ease-in-out
}

.project h2 {
    font-family: Roboto, sans-serif;
    font-weight: 900;
    margin: 0 0 .5em;
    z-index: 1
}

.project__background {
    left: 0;
    -webkit-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
    top: 0;
    width: 100%;
    z-index: -1
}

.project__background, .project__background-inner {
    height: 100%;
    position: absolute;
    -webkit-transform-origin: 50% 50%;
    -moz-transform-origin: 50% 50%;
    -ms-transform-origin: 50% 50%;
    -o-transform-origin: 50% 50%
}

.project__background-inner {
    background-size: cover;
    background-position: 50% 50%;
    -webkit-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-transition: -webkit-transform .3s;
    transition: -webkit-transform .3s;
    transition: transform .3s;
    transition: transform .3s, -webkit-transform .3s;
    width: 101%
}

.project--light-blue:before {
    background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, rgba(0, 22, 111, .6)), to(transparent));
    background-image: linear-gradient(180deg, rgba(0, 22, 111, .6), transparent)
}

.project--light-blue:after {
    background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, rgba(0, 22, 111, .6)), to(transparent));
    background-image: linear-gradient(0deg, rgba(0, 22, 111, .6), transparent)
}

.project .project-type-plate {
    font-size: 12px
}

@media screen and (max-width: 600px) {
    .project .project-type-plate {
        font-size: 10px
    }
}

.project .project-type-plate:hover {
    color: #fff
}

.project__header-link {
    border-bottom: 1px solid hsla(0, 0%, 100%, .5)
}

@media print {
    .project__header-link {
        border-color: #000
    }
}

.project .statistics {
    background: none;
    color: inherit;
    margin-bottom: 0;
    margin-right: 0;
    padding: 0;
    z-index: 1
}

@media screen and (max-width: 800px) {
    .project .statistics {
        margin-right: 0
    }
}

.project .statistics__percents {
    position: relative
}

@media screen and (max-width: 800px) {
    .project .statistics__prefix {
        font-size: 20px
    }
}

.project .statistics__prefix--small {
    font-size: 2.5vw;
    line-height: 5.6vw;
    margin-left: -.5em;
    padding-top: 0;
    position: static
}

@media screen and (max-width: 1280px) {
    .project .statistics__prefix--small {
        line-height: 60px
    }
}

@media screen and (max-width: 1024px) {
    .project .statistics__prefix--small {
        font-size: 35px
    }
}

@media print {
    .project .statistics__prefix--small {
        line-height: 54px
    }
}

.project__description {
    margin-bottom: 2em
}

.project__bottom, .project__top {
    margin: env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);
    display: block;
    position: relative;
    width: 100%;
    z-index: 1
}

.project__bottom {
    -webkit-align-self: flex-end;
    align-self: flex-end
}

@media screen and (max-width: 600px) {
    .statistics__description, .statistics__percents {
        display: none
    }
}

.project .statistics__item {
    margin-bottom: 0;
    width: auto
}

@media screen and (max-width: 1024px) {
    .project .statistics__item {
        width: auto
    }
}

.project .statistics__item:nth-child(odd) {
    color: inherit
}

.project .statistics__percent-value {
    font-size: 5.6vw
}

@media screen and (max-width: 1280px) {
    .project .statistics__percent-value {
        font-size: 60px
    }
}

@media print {
    .project .statistics__percent-value {
        font-size: 54px
    }
}

.project .statistics__description {
    font-size: 1.25vw
}

@media screen and (max-width: 1280px) {
    .project .statistics__description {
        font-size: 14px
    }
}

@media print {
    .project .statistics__description {
        font-size: 14px
    }
}

.project__top {
    border: none !important;
    position: static;
    z-index: 2
}

.projects .project__top:hover {
    color: #fff !important
}

.projects .project__top:hover .project__header-link {
    color: hsla(0, 0%, 100%, .7)
}

/*.project__top:after {*/
/*    content: "";*/
/*    display: block;*/
/*    height: 100%;*/
/*    left: 0;*/
/*    position: absolute;*/
/*    top: 0;*/
/*    width: 100%;*/
/*    z-index: 1*/
/*}*/

.projects__row {
    display: -webkit-box;
    display: flex;
    margin-bottom: -1px;
    position: relative;
    z-index: 1
}

@media screen and (max-width: 1024px) {
    .projects__row {
        flex-wrap: wrap
    }
}

@media print {
    .white, .white * {
        color: #000 !important
    }

    .hidden, .project:after, .project:before, .project__content:after, .project__top:after {
        display: none !important
    }

    .projects__row {
        display: block !important
    }

    .projects__row .projects__item {
        display: block !important;
        height: auto !important;
        width: auto !important
    }

    .project .project-type-plate {
        border: 1px solid #aaa !important;
        padding: .5rem 1rem !important;
        -webkit-transform: none;
        transform: none
    }

    .statistics__prefix {
        background: #000;
        vertical-align: bottom !important
    }
}

a:link {
    text-decoration: none;
    border-bottom: 1px solid;
    outline: none
}

a:link:visited {
    color: #551a8b;
    border-color: rgba(85, 26, 139, .3)
}

@media print {
    a:link, a:link *, a:link:visited, a:link:visited * {
        color: #000 !important;
        border-color: #000 !important
    }
}

@-webkit-keyframes layout-fade-in {
    0% {
        opacity: 0;
        z-index: 10
    }
    50% {
        opacity: .5
    }
    99% {
        opacity: 0
    }
    to {
        z-index: 10
    }
}

@keyframes layout-fade-in {
    0% {
        opacity: 0;
        z-index: 10
    }
    50% {
        opacity: .5
    }
    99% {
        opacity: 0
    }
    to {
        z-index: 10
    }
}

@-webkit-keyframes layout-fade-out {
    0% {
        opacity: .5;
        z-index: 10
    }
    99% {
        opacity: 0
    }
    to {
        z-index: -1
    }
}

@keyframes layout-fade-out {
    0% {
        opacity: .5;
        z-index: 10
    }
    99% {
        opacity: 0
    }
    to {
        z-index: -1
    }
}

.mobile .layout:after {
    -webkit-animation: layout-fade-out .3s linear;
    animation: layout-fade-out .3s linear;
    background: white;
    content: "";
    height: 100%;
    left: -9999em;
    opacity: 0;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: -1
}

.loaded.mobile .layout:after {
    left: 0
}

body.fixed, html.overflow-hidden {
    overflow: hidden
}

body.fixed {
    height: 100%;
    position: fixed;
    width: 100%
}

.mobile body.fixed .layout:after {
    -webkit-animation: layout-fade-in .3s linear;
    animation: layout-fade-in .3s linear
}

h1 {
    text-align: center;
    padding: 0 130px
}

@media screen and (max-width: 800px) {
    h1 {
        padding: 0 4%;
        text-align: left
    }
}

.projects__row--one {
    font-size: 1.6vw
}

.projects__row--one .project {
    height: 60vw;
    padding: 6vw 4vw;
    text-align: center;
    width: 100%
}

.projects__row--one .project__content {
    position: relative;
    top: 50%
}

@media screen {
    .projects__row--one .project__content {
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%)
    }
}

.projects__row--one .project__description {
    max-width: 80%;
    margin: 0 auto 1em
}

@media screen and (max-width: 800px) {
    .projects__row--one .project__description {
        font-size: 16px
    }
}

@media screen and (max-width: 1280px) {
    .projects__row--one .statistics {
        margin-right: 0 !important
    }
}

.projects__row--one .statistics__item {
    width: 25%
}

@media screen and (max-width: 800px) {
    .projects__row--one .statistics__item {
        width: auto
    }
}

.projects__row--one .statistics__description {
    max-width: none
}

.projects__row--one .project .project-type-plate {
    font-size: 18px;
    margin-bottom: 20px
}

@media screen and (max-width: 800px) {
    .projects__row--one .project .project-type-plate {
        font-size: 14px
    }
}

@media screen and (max-width: 600px) {
    .projects__row--one .project .project-type-plate {
        font-size: 10px
    }
}

.projects__row--one h2 {
    font-size: 9.5vw;
    line-height: 1
}

@media print {
    .projects__row--one h2 {
        font-size: 60px !important
    }
}

.projects ~ .projects .projects__row {
    flex-wrap: wrap
}

a:link.external ins {
    display: none
}

.pseudo {
    border-bottom: 1px dotted
}

.pseudo, a:link {
    color: white;
    border-color: rgba(27, 134, 192, .3)
}

.pseudo, .pseudo *, a:link, a:link * {
    cursor: pointer
}

.pseudo span.icon, a:link span.icon {
    display: none !important
}

.pseudo:hover, a:link:hover, a:visited:hover {
    border-color: rgba(252, 74, 10, .3)
}

.pseudo:visited, [class$="--novisitedLink"] a:visited {
    color: white;
    border-color: rgba(27, 134, 192, .3)
}

.pseudo:visited:hover, [class$="--novisitedLink"] a:visited:hover {
    border-color: rgba(252, 74, 10, .3)
}

a[href^="tel:"] {
    border: none !important
}

[class$="--whiteLink"] .pseudo, [class$="--whiteLink"] .pseudo:visited, [class$="--whiteLink"][class$="--novisitedLink"] a:visited, [class$="--whiteLink"] [class$="--novisitedLink"] a:visited, [class$="--whiteLink"] a {
    color: #fff;
    border-color: hsla(0, 0%, 100%, .3)
}

[class$="--whiteLink"] .pseudo:hover, [class$="--whiteLink"] .pseudo:visited:hover, [class$="--whiteLink"][class$="--novisitedLink"] a:visited:hover, [class$="--whiteLink"] [class$="--novisitedLink"] a:visited:hover, [class$="--whiteLink"] a:hover {
    color: hsla(0, 0%, 100%, .7) !important;
    border-color: hsla(0, 0%, 100%, .3) !important
}

[class$="--whiteLink"] a:visited {
    color: #551a8b;
    border-color: rgba(85, 26, 139, .3)
}

[class$="--darkLink"] .pseudo, [class$="--darkLink"] .pseudo:visited, [class$="--darkLink"][class$="--novisitedLink"] a:visited, [class$="--darkLink"] [class$="--novisitedLink"] a:visited, [class$="--darkLink"] a {
    color: #000;
    border-color: rgba(0, 0, 0, .3)
}

[class$="--darkLink"] .pseudo:hover, [class$="--darkLink"] .pseudo:visited:hover, [class$="--darkLink"][class$="--novisitedLink"] a:visited:hover, [class$="--darkLink"] [class$="--novisitedLink"] a:visited:hover, [class$="--darkLink"] a:hover {
    color: rgba(0, 0, 0, .65) !important;
    border-color: rgba(0, 0, 0, .3) !important
}

[class$="--darkLink"] a:visited {
    color: #000;
    border-color: rgba(0, 0, 0, .3)
}

.white .pseudo, .white .pseudo:visited, .white[class$="--novisitedLink"] a:visited, .white [class$="--novisitedLink"] a:visited, .white a {
    color: #fff;
    border-color: hsla(0, 0%, 100%, .3)
}

.white .pseudo:hover, .white .pseudo:visited:hover, .white[class$="--novisitedLink"] a:visited:hover, .white [class$="--novisitedLink"] a:visited:hover, .white a:hover {
    color: hsla(0, 0%, 100%, .7) !important;
    border-color: hsla(0, 0%, 100%, .3) !important
}

.white a:visited {
    color: #fff;
    border-color: hsla(0, 0%, 100%, .3)
}

@font-face {
    font-family: icons-font;
    font-weight: 400;
    font-style: normal
}

.caption {
    display: block;
    font-weight: 700;
    font-size: .87em;
    color: #000;
    margin: 2em 26.3% .3em 0;
    max-width: 38em
}

ul.navigation {
    font-size: 75%
}

ul.navigation li {
    margin-bottom: .5em;
    padding: .3em .5em
}

ul.navigation li.active {
    background: white;
    color: #fff
}

ul.navigation li.active > b {
    font-weight: 400
}

.file {
    position: relative
}

.file span {
    display: block;
    color: #828282;
    font-size: 1em
}

.file span span {
    display: inline
}

.file a span {
    color: #007ac2
}

.file a:hover span {
    color: #fc4a0a
}

.file a:visited span {
    color: #551a8b
}

.file a:visited:hover span {
    color: #fc4a0a
}

.file .icon {
    position: absolute;
    left: 0;
    width: 25px;
    height: 33px;
    vertical-align: top;
    margin-top: 5px
}

.file .icon .a {
    top: -98px
}

.doc .a {
    left: -29px
}

.XML .a, .xml .a {
    left: -58px;
    top: -137px !important
}

.date {
    display: block;
    margin: 0 0 .3em;
    color: #828282
}

p + .date {
    margin-top: 2.5em
}

.date + h3 {
    margin-top: .3em
}

h2 .date {
    font-size: .43em;
    margin-bottom: 0
}

div.documents h3 {
    margin-top: 1em
}

.with a {
    margin: 0
}

a:hover img.dead {
    border-color: #00adef
}

img.dead {
    border: 2px solid #fff
}

form input.submit {
    margin-left: .5em
}

p span.highlight {
    color: #ff8846 !important;
    font-weight: 700
}

input.error {
    background-color: #faa
}

form table.data td {
    padding: 0 .25em .5em .5em
}

form table.data {
    margin-right: 26.3%;
    line-height: 1.7em;
    margin-top: 1.3em
}

iframe {
    width: 100%;
    border: 0;
    overflow: hidden
}

div.iframe iframe body {
    background: transparent
}

.header .date {
    font-size: .55em
}

.header h1 .date {
    font-size: .3em
}

.header h2 .date {
    font-size: .4em
}

.header h3 .date {
    font-size: .55em
}

.header h4 .date {
    font-size: .65em
}

.header h5 .date {
    font-size: .85em;
    font-weight: 400
}

.header {
    position: relative;
    width: 75%
}

.header .before {
    position: absolute;
    left: 0;
    top: -2em
}

.header h3 .before {
    top: -2.7em
}

.header h1, .header h2, .header h3, .header h4, .header h5 {
    position: relative;
    margin-right: 0
}

div.marked {
    border: 1px solid #ff8846;
    padding: 1em 1em 1em 1.5em
}

div.marked .date + h2 {
    margin: .5em 0
}

.br {
    height: 1em
}

form input.submit {
    width: 5em
}

.en form input.submit {
    width: 4em
}

.spinner {
    top: 50%;
    left: 50%;
    width: 40px;
    height: 40px;
    margin-top: -20px;
    margin-left: -20px;
    position: fixed
}

@-webkit-keyframes bouncedelay {
    0%, 80%, to {
        -webkit-transform: scale(0)
    }
    40% {
        -webkit-transform: scale(1)
    }
}

@keyframes bouncedelay {
    0%, 80%, to {
        transform: scale(0);
        -webkit-transform: scale(0)
    }
    40% {
        transform: scale(1);
        -webkit-transform: scale(1)
    }
}

table.data {
    font-size: .8em;
    line-height: 1.3;
    margin: 0 0 1.2em;
    empty-cells: show
}

table.data td {
    padding: 1.5em 2em .3em 0
}

table.data td.number {
    text-align: right
}

table.data td .description {
    font-size: 1em !important
}

table.data th {
    font-weight: 400;
    border-bottom: 1px solid #dbdbda;
    padding: 0 2em .8em 0
}

table.data th.number {
    text-align: right
}

.media > a {
    border: none
}

.media a:focus img, .media a:hover img, .media a img.hover {
    border-color: #00adef !important
}

.media img, .media video {
    max-width: 100%;
    height: auto;
    border: 2px solid #fff;
    margin: .25em 0
}

@-webkit-keyframes fadeIn {
    0% {
        opacity: 0
    }
    to {
        opacity: 1
    }
}

@keyframes fadeIn {
    0% {
        opacity: 0
    }
    to {
        opacity: 1
    }
}

@-webkit-keyframes fadeOut {
    0% {
        opacity: 1
    }
    to {
        opacity: 0
    }
}

@keyframes fadeOut {
    0% {
        opacity: 1
    }
    to {
        opacity: 0
    }
}

@-webkit-keyframes fadeInUp {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, 20px, 0);
        transform: translate3d(0, 20px, 0)
    }
    to {
        opacity: 1;
        -webkit-transform: none;
        transform: none
    }
}

@keyframes fadeInUp {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, 20px, 0);
        transform: translate3d(0, 20px, 0)
    }
    to {
        opacity: 1;
        -webkit-transform: none;
        transform: none
    }
}

@-webkit-keyframes fadeOutDown {
    0% {
        opacity: 1
    }
    to {
        opacity: 0;
        -webkit-transform: translate3d(0, 20px, 0);
        transform: translate3d(0, 20px, 0)
    }
}

@keyframes fadeOutDown {
    0% {
        opacity: 1
    }
    to {
        opacity: 0;
        -webkit-transform: translate3d(0, 20px, 0);
        transform: translate3d(0, 20px, 0)
    }
}

[class*=" f-icon-"], [class^=f-icon-] {
    font-family: icomoon !important;
    speak: none;
    font-style: normal;
    font-weight: 400;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

@-webkit-keyframes ngdialog-fadeout {
    0% {
        opacity: 1
    }
    to {
        opacity: 0
    }
}

@keyframes ngdialog-fadeout {
    0% {
        opacity: 1
    }
    to {
        opacity: 0
    }
}

@-webkit-keyframes ngdialog-fadein {
    0% {
        opacity: 0
    }
    to {
        opacity: 1
    }
}

@keyframes ngdialog-fadein {
    0% {
        opacity: 0
    }
    to {
        opacity: 1
    }
}

.menu-map__item-active span {
    background: #fff;
    color: #113aaa;
    box-shadow: inset 0 0 3px rgba(0, 0, 0, .25)
}

.menu-map__item-active span a:link, .menu-map__item-active span a:visited {
    color: white !important;
    border-color: rgba(27, 134, 192, .3) !important
}

.menu-map__item-active span a:hover {
    border-color: rgba(252, 74, 10, .3) !important
}

.search-field__suggest__item-active {
    background: white;
    color: #fff
}

.toggle {
    padding: 3px 26px 3px 12px;
    display: inline-block;
    border-radius: 20px;
    background: #013580;
    position: relative;
    margin-top: 10px;
    cursor: pointer
}

@media (max-width: 600px) {
    .toggle {
        margin-bottom: 15px
    }
}

.toggle i:before {
    display: block;
    position: absolute;
    font-size: .4rem;
    color: #fff;
    top: 50%;
    margin-top: -3px;
    right: 11px;
    height: 6px;
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg)
}

.toggle span {
    color: #fff
}

.statistics {
    font-family: Roboto, sans-serif;
    margin-bottom: 4rem
}

@media screen and (min-width: 1600px) {
    .statistics {
        margin-right: -33%
    }
}

@media screen and (min-width: 2000px) {
    .statistics {
        margin-right: 0
    }
}

@media screen and (max-width: 1280px) {
    .statistics {
        margin-right: -33%
    }
}

@media screen and (max-width: 600px) {
    .statistics {
        margin-right: 0
    }
}

.statistics h2 {
    line-height: 1.2
}

.statistics__item {
    box-sizing: border-box;
    display: inline-block;
    margin-bottom: 30px;
    vertical-align: top;
    width: 50%
}

.statistics__item:last-child {
    padding-right: 0
}

@media screen and (max-width: 600px) {
    .statistics__item {
        display: block;
        padding-bottom: 10px;
        padding-right: 0;
        width: auto
    }
}

@media screen and (min-width: 1600px) {
    .statistics__item {
        width: 33%
    }
}

.statistics__percents {
    line-height: 1;
    white-space: nowrap
}

.statistics__percent-value, .statistics__prefix {
    display: inline-block;
    vertical-align: top
}

.statistics__prefix {
    font-size: 30px;
    font-weight: 300;
    line-height: 1.5;
    padding: 0 0 0 .3em
}

.statistics__prefix--small {
    font-size: 20px;
    line-height: 1.1;
    padding-top: .25em
}

@media screen and (max-width: 600px) {
    .statistics__prefix--small {
        font-size: 24px
    }
}

.statistics__prefix sup {
    font-size: 70%
}

.statistics__prefix {
    margin-right: .15em;
    padding-left: 0;
    position: absolute;
    right: 100%
}

@media screen and (max-width: 600px) {
    .statistics__prefix {
        margin-right: 0
    }
}

.statistics__percent-value {
    font-size: 90px;
    font-weight: 100
}

@media screen and (max-width: 800px) {
    .statistics__percent-value {
        font-size: 72px
    }
}

.statistics__description {
    font-size: 18px;
    font-weight: 300;
    line-height: 1.4;
    max-width: 350px;
    position: relative
}

@media screen and (max-width: 800px) {
    .statistics__description {
        font-size: 15px
    }
}

@media print {
    .statistics__description sup {
        vertical-align: super
    }
}

.project-type-plate {
    background: #1779c0;
    color: #fff;
    display: inline-block;
    font-weight: 300;
    font-size: 80%;
    letter-spacing: .4em;
    line-height: 1;
    margin-bottom: 20px;
    padding: 6px 6px 6px 12px;
    position: relative;
    -webkit-transform: skewY(-8deg);
    transform: skewY(-8deg);
    text-transform: uppercase;
    white-space: nowrap
}

.project-type-plate:hover {
    color: hsla(0, 0%, 100%, .5)
}

.selector {
    display: inline;
    position: relative;
    border-bottom: 1px dashed #000;
    cursor: pointer;
    font-size: 1.1em;
    font-weight: 700;
    margin-right: 12px
}

.selector .icon {
    position: absolute;
    right: -1em;
    height: 4px;
    top: .6em;
    vertical-align: middle;
    width: 7px
}

.marked .w {
    display: inline-block
}

.description {
    display: block;
    font-size: .875rem
}

h2 .description {
    font-size: .45em !important;
    color: #898989;
    display: block;
    margin-top: .6em
}

p .description {
    font-size: .875rem !important
}

.background {
    width: 100%;
    position: absolute;
    height: 100%
}

#page {
    left: 2%;
    width: 96%
}

#page, .columns {
    position: relative
}

.columns {
    padding: 1.5em 0 0;
    z-index: 10
}

#header {
    position: relative;
    z-index: 16
}

#header:after {
    content: "";
    display: block;
    clear: both
}

.language, .new {
    float: right;
    margin-left: 2em
}

.language {
    text-transform: uppercase
}

.down, .up {
    font-size: 100% !important
}

.down > .up, .up > .down {
    display: none
}

.language .icon {
    width: 7px;
    height: 4px;
    vertical-align: middle;
    top: 1px;
    padding-left: .2em
}

#logo {
    float: left;
    min-width: 192px;
    padding: .5em 0 0;
    height: 85px;
    width: 11%
}

#logo a {
    border-bottom: none
}

#logo a:after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%
}

x:-moz-any-link, x:default {
    height: auto
}

#footer {
    position: relative;
    border-top: 1px solid #a6a6a6;
    overflow: hidden;
    height: 5.9375em;
    margin-top: -6em;
    font-size: 1em;
    z-index: 15
}

div.without p.description {
    display: none
}

.with a {
    margin-right: 20px;
    margin-bottom: 10px
}

p.position {
    color: #898989
}

div.details p.position {
    margin-top: 0 !important;
    margin-bottom: 2em
}

.navigation a.green {
    padding-left: 27px;
    position: relative;
    display: block;
    zoom: 1
}

li.header .date {
    font-size: .8em
}

@-webkit-keyframes preloader {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg)
    }
    50% {
        -webkit-transform: rotate(180deg);
        transform: rotate(180deg)
    }
    to {
        -webkit-transform: rotate(1turn);
        transform: rotate(1turn)
    }
}

@keyframes preloader {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg)
    }
    50% {
        -webkit-transform: rotate(180deg);
        transform: rotate(180deg)
    }
    to {
        -webkit-transform: rotate(1turn);
        transform: rotate(1turn)
    }
}

a.phone {
    cursor: default;
    text-decoration: none
}

a.phone, a.phone:hover {
    color: inherit !important
}

.change .active {
    color: #ff8846
}

.white {
    color: #fff
}

p iframe {
    display: block;
    margin-bottom: -.4em
}

@media screen and (max-width: 768px) {
    .main-content {
        font-size: 16px !important
    }
}

.project__background-inner:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, .5);
    z-index: 2
}

@media (max-width: 767px) {
    .sm\:bg-transparent {
        background-color: transparent
    }

    .sm\:flex {
        display: -webkit-box;
        display: flex
    }

    .sm\:hidden {
        display: none
    }

    .sm\:flex-col {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        flex-direction: column
    }

    .sm\:flex-col-reverse {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        flex-direction: column-reverse
    }

    .sm\:flex-wrap {
        flex-wrap: wrap
    }

    .sm\:justify-start {
        -webkit-box-pack: start;
        justify-content: flex-start
    }

    .sm\:justify-end {
        -webkit-box-pack: end;
        justify-content: flex-end
    }

    .sm\:justify-center {
        -webkit-box-pack: center;
        justify-content: center
    }

    .sm\:flex-shrink-0 {
        flex-shrink: 0
    }

    .sm\:float-none {
        float: none
    }

    .sm\:h-48 {
        height: 12rem
    }

    .sm\:leading-tight {
        line-height: 1.25
    }

    .sm\:leading-snug {
        line-height: 1.375
    }

    .sm\:leading-relaxed {
        line-height: 1.625
    }

    .sm\:mx-auto {
        margin-left: auto;
        margin-right: auto
    }

    .sm\:mt-0 {
        margin-top: 0
    }

    .sm\:mr-0 {
        margin-right: 0
    }

    .sm\:mb-0 {
        margin-bottom: 0
    }

    .sm\:mb-4 {
        margin-bottom: 1rem
    }

    .sm\:mb-5 {
        margin-bottom: 1.25rem
    }

    .sm\:mb-6 {
        margin-bottom: 1.5rem
    }

    .sm\:mb-8 {
        margin-bottom: 2rem
    }

    .sm\:mb-10 {
        margin-bottom: 2.5rem
    }

    .sm\:mb-12 {
        margin-bottom: 3rem
    }

    .sm\:mb-16 {
        margin-bottom: 4rem
    }

    .sm\:mb-24 {
        margin-bottom: 6rem
    }

    .sm\:-mr-1 {
        margin-right: -.25rem
    }

    .sm\:-ml-1 {
        margin-left: -.25rem
    }

    .sm\:-mr-2 {
        margin-right: -.5rem
    }

    .sm\:-ml-4 {
        margin-left: -1rem
    }

    .sm\:-mt-10 {
        margin-top: -2.5rem
    }

    .sm\:overflow-hidden {
        overflow: hidden
    }

    .sm\:p-0 {
        padding: 0
    }

    .sm\:px-0 {
        padding-left: 0;
        padding-right: 0
    }

    .sm\:px-3 {
        padding-left: .75rem;
        padding-right: .75rem
    }

    .sm\:px-4 {
        padding-left: 1rem;
        padding-right: 1rem
    }

    .sm\:py-20 {
        padding-top: 5rem;
        padding-bottom: 5rem
    }

    .sm\:pt-0 {
        padding-top: 0
    }

    .sm\:pr-0 {
        padding-right: 0
    }

    .sm\:pt-2 {
        padding-top: .5rem
    }

    .sm\:pl-4 {
        padding-left: 1rem
    }

    .sm\:pt-12 {
        padding-top: 3rem
    }

    .sm\:pb-12 {
        padding-bottom: 3rem
    }

    .sm\:pt-20 {
        padding-top: 5rem
    }

    .sm\:text-xs {
        font-size: .75rem
    }

    .sm\:text-base {
        font-size: 1rem
    }

    .sm\:text-lg {
        font-size: 1.125rem
    }

    .sm\:text-3xl {
        font-size: 1.875rem
    }

    .sm\:w-3 {
        width: .75rem
    }

    .sm\:w-1\/2 {
        width: 50%
    }

    .sm\:w-1\/3 {
        width: 33.333333%
    }


    .sm\:w-1\/4 {
        width: 25%
    }

    .sm\:w-3\/5 {
        width: 60%
    }

    .sm\:w-4\/5 {
        width: 80%
    }

    .sm\:w-full {
        width: 100%
    }

    .sm\:w-screen {
        width: 100vw
    }

    .sm\:z-50 {
        z-index: 50
    }
}

@media (min-width: 768px) and (max-width: 1439px) {
    .md\:bg-white {
        background-color: #fff
    }

    .md\:hidden {
        display: none
    }

    .md\:flex-col {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        flex-direction: column
    }

    .md\:pl-0 {
        padding-left: 0
    }

    .md\:pt-8 {
        padding-top: 2rem
    }

    .md\:text-2xl {
        font-size: 1.5rem
    }

    .md\:w-auto {
        width: auto
    }

    .md\:w-1\/3 {
        width: 33.333333%
    }

    .md\:w-4\/5 {
        width: 80%
    }
}

@media (min-width: 1440px) {
    .lg\:block {
        display: block
    }

    .lg\:w-1\/3 {
        width: 33%;
    }

}
