/*
Theme Name: Progorod
*/

@import url(/wp-content/themes/progorod/css/normalize.css);
@import url(/wp-content/themes/progorod/css/swiper-bundle.min.css);
@import url(https://fonts.googleapis.com/css2?family=Oswald:wght@300;400;500;700&family=Roboto:wght@100;300;400;500;700;900&display=swap);

* {
    box-sizing: border-box
}

body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    font-family: Roboto, Arial, sans-serif;
    font-weight: 400;
    color: #fff;
    overflow-x: hidden
}

main {
    flex-grow: 1
}

strong {
    font-weight: 700
}

img {
    max-width: 100%
}

.container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 15px
}

ul {
    font-weight: 300;
    font-size: 25px;
    line-height: 29px
}

.home-page {
    background: url(./images/home-bg.png) center bottom no-repeat #054198
}

.header {
    padding: 38px 0 38px 0;
    background-color: #fff
}

.home-page .header {
    padding: 74px 0 0 0;
    background-color: transparent
}

.header__wrap {
    display: flex;
    justify-content: space-between
}

.header__left {
    display: flex
}

.header__link {
    margin-right: 25px
}

.header__img-logo {
    width: 100px;
    height: 100px
}

.header__info {
    max-width: 400px
}

.header__title {
    font-family: Oswald, sans-serif;
    font-weight: 700;
    font-size: 35px;
    line-height: 41px;
    color: #000;
    margin-bottom: 16px
}

.header__desc {
    font-weight: 300;
    font-size: 18px;
    line-height: 22px;
    color: #000;
    margin: 0
}

.header__right {
    display: flex;
    align-items: center;
    padding-top: 15px;
    align-self: flex-start;
}

.header__email {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    font-weight: 500;
    font-size: 18px;
    line-height: 20px;
    color: #000;
    text-decoration: none;
    margin: 0 0 0 20px;
}

.header__email-icon {
    width: 40px;
    height: 40px;
    margin-right: 10px
}

.header__navigation {
    padding-bottom: 4px;
}

.home-page .header__email-icon path {
    fill: #fff
}

.header__menu-list {
    display: flex;
    padding: 0;
    margin: 0;
    list-style: none
}

.header__menu-list li {
    position: relative;
    margin-right: 10px
}

.header__menu-list li:last-child {
    margin: 0
}

.header__menu-list li a {
    position: relative;
    font-size: 18px;
    line-height: 20px;
    color: #000;
    text-decoration: none;
    z-index: 999
}

.active .header__menu-list li a {
    font-weight: 500
}

.header__menu-list li ul {
    display: none;
    position: absolute;
    top: 55px;
    left: 50%;
    width: 365px;
    background-color: #fff;
    padding: 25px 25px 30px 40px;
    margin: 0;
    margin-left: -182px;
    list-style: none;
    z-index: 22
}

.header__menu-list li ul li {
    margin-bottom: 30px
}

.header__menu-list li:hover ul {
    display: block
}

.header__menu-list li ul::before {
    content: '';
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: -16px;
    width: 40px;
    height: 16px;
    background: url(./images/submenu-triangle.svg) 0 0 no-repeat;
    background-size: cover
}

.header__menu-list li ul::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: -60px;
    width: 100%;
    height: 75px;
    display: block
}

.home-page .header__desc,
.home-page .header__email,
.home-page .header__menu-list li a,
.home-page .header__title {
    color: #fff
}

.header__menu-list li ul li a {
    font-size: 18px;
    line-height: 21px;
    color: #054198 !important;
    text-decoration: none
}

.header__menu-list li ul li.active a {
    font-weight: 700
}

.slider {
    position: relative;
    padding: 58px 0
}

.slider__list {
    padding: 0;
    margin: 0;
    list-style: none
}

.slider__item {
    min-height: 437px;
    display: flex;
    justify-content: space-between;
    background-color: #fff;
}

.slider__left {
    width: 100%;
    padding: 60px 20px 60px 110px
}

.slider__left--815 {
    max-width: 815px
}

.slider__left--590 {
    max-width: 590px
}

.slider__left--510 {
    max-width: 510px
}

.slider__left--460 {
    max-width: 460px
}

.slider__left p {
    font-family: Roboto, Arial, sans-serif;
    font-weight: 300;
    font-size: 16px;
    line-height: 22px;
    color: #05295f;
    margin: 0 0 5px 0
}

.slider__left h2 {
    font-family: Oswald, sans-serif;
    font-weight: 700;
    font-size: 50px;
    line-height: 74px;
    color: #05295f;
    margin: 0 0 20px 0
}

.slider__left h3 {
    font-family: Oswald, sans-serif;
    font-weight: 400;
    font-size: 30px;
    line-height: 35px;
    color: #05295f;
    margin: 0 0 25px 0
}

.slider__left p:last-child {
    margin: 0
}

.slider__image {
    display: block;
    width: 100%;
    height: 100%;
}

.slider__link-wrap {
    margin-top: 20px
}

.slider__link {
    display: flex;
    align-items: center;
    text-decoration: none;
    font-weight: 500;
    font-size: 20px;
    line-height: 23px;
    color: #05295f
}

.slider__link:hover {
    opacity: .5
}

.slider__link-image {
    width: 42px;
    height: 42px;
    margin-right: 13px
}

.slider__wrap-navigation {
    position: relative
}

.swiper-pagination {
    padding: 17px 0;
    background-color: #054198
}

.swiper-horizontal>.swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal,
.swiper-pagination-custom,
.swiper-pagination-fraction {
    bottom: -50px
}

.swiper-pagination-bullet {
    width: 16px;
    height: 16px;
    background-color: #e8e8e8;
    margin: 0 35px 0 0 !important
}

.swiper-pagination-bullet:last-child {
    margin: 0 !important
}

.swiper-pagination-bullet-active {
    background-color: #159dfe
}

.swiper-buttons {
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 55px;
    height: 55px;
    background-color: #054198;
    border-radius: 50%;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    cursor: pointer
}

.swiper-buttons__image {
    width: 12px;
    height: 19px
}

.swiper-buttons--prev {
    left: 30px
}

.swiper-buttons--next {
    right: 30px
}

.footer {
    flex-shrink: 0;
    background-color: #054198;
    padding: 30px 0 30px 0
}

.footer__copyright {
    font-weight: 300;
    font-size: 18px;
    line-height: 22px;
    text-align: center;
    color: #e8e8e8;
    margin: 0;
    text-align: center
}

.page-head {
    display: flex;
    align-items: center;
    padding: 40px 0 40px 0;
    background: url(./images/background-pagehead.png) 0 0 no-repeat;
    background-size: cover
}

.page-head__title {
    font-family: Oswald, sans-serif;
    font-size: 65px;
    line-height: 112px;
    text-align: center;
    color: #05295f;
    margin: 0
}

.page-head__mini-title {
    font-weight: 400;
    font-size: 25px;
    line-height: 29px;
    color: #000;
    text-align: center;
    margin: 0
}

.page-head__desc {
    font-family: Oswald, sans-serif;
    font-weight: 300;
    font-size: 40px;
    line-height: 47px;
    text-align: center;
    color: #2d2d2d;
    margin: 0
}

.map-navigation {
    background-color: #054198
}

.map-navigation__wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 70px 0 60px 0
}

.map-navigation__left {
    max-width: 430px;
    padding: 0 0 0 60px
}

.map-navigation__left p {
    font-size: 25px;
    line-height: 37px;
    color: #fff;
    margin: 0 0 10px 0
}

.map-navigation__left p span {
    font-size: 40px;
    line-height: 60px
}

.map-navigation__right {
    width: 100%;
    padding: 0 65px 0 0;
    text-align: right
}

.map-navigation__right img {
    width: 540px
}

.type {
    position: relative;
    padding: 90px 0 95px 0;
    background: linear-gradient(182.47deg, #fff 6.65%, rgba(255, 255, 255, 0) 85.49%), url(./images/section-type-back.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center
}

.page-content h2 {
    font-family: Oswald, sans-serif;
    font-weight: 500;
    font-size: 45px;
    line-height: 53px;
    color: #05295f;
    margin: 0 0 35px 0
}

.page-content h3 {
    font-family: Oswald, sans-serif;
    font-weight: 500;
    font-size: 40px;
    line-height: 47px;
    color: #05295f;
    margin: 0 0 35px 0
}

.type__list,
.type__title {
    display: inline-block;
    padding: 0;
    margin: 0;
    list-style: none
}

.type__head {
    display: flex;
    margin: 0 0 55px 0
}

.type__title {
    max-width: 200px;
    margin: 0 100px 0 0 !important
}

.type__list {
    display: grid;
    grid-template-columns: repeat(2, minmax(330px, 399px));
    font-weight: 300;
    font-size: 18px;
    line-height: 25px;
    color: #000
}

.type__list li {
    position: relative
}

.type__list li::before {
    content: '';
    position: absolute;
    top: 2px;
    left: -28px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background-color: #3fa6db
}

.bung__list {
    font-weight: 300;
    font-size: 18px;
    line-height: 25px;
    color: #000;
    -webkit-column-count: 2;
    -moz-column-count: 2;
    column-count: 2;
    margin: 0;
    padding: 0;
    list-style: none
}

.bung__list li {
    position: relative;
    margin: 0 60px 13px 0
}

.bung__list li::before {
    content: '';
    position: absolute;
    top: 2px;
    left: -28px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background-color: #3fa6db
}

.page-content p {
    font-weight: 300;
    font-size: 20px;
    line-height: 26px;
    color: #000;
    margin: 0 0 35px 0
}

.page-content p:last-child {
    margin: 0
}

.popup__wrap {
    position: relative
}

.type-container {
    width: 49%;
    display: inline-block
}

.popup__link {
    display: flex;
    align-items: center;
    font-weight: 500;
    font-size: 20px;
    line-height: 23px;
    color: #05295f;
    text-decoration: none
}

.popup__link:hover {
    opacity: .5
}

.popup__link-close {
    display: none
}

.active .popup__link-open {
    display: none
}

.active .popup__link-close {
    display: flex
}

.popup__link-image {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    margin-right: 13px
}

.active .popup__link-image {
    transform: rotate(180deg)
}

.popup__block {
    display: none
}

.active .popup__block {
    width: 100%;
    bottom: 0;
    display: block;
    position: absolute;
    background: #efefef;
    box-shadow: 10px 15px 25px rgba(141, 147, 164, .3);
    border-radius: 10px;
    padding: 35px 50px;
    z-index: 99
}

.popup__left.active .popup__block {
    right: -100%
}

.popup__right.active .popup__block {
    right: unset;
    left: -102%
}

.popup__block h3 {
    font-family: Oswald, sans-serif;
    font-size: 25px;
    font-weight: 700;
    line-height: 37px;
    color: #054198;
    margin: 0 0 10px 0
}

.popup__block p {
    font-style: normal;
    font-size: 16px;
    line-height: 19px;
    color: #000;
    margin: 0 0 10px 0
}

.popup__block ul {
    color: #000;
    font-size: 16px;
    font-weight: 300;
    line-height: 19px
}

.road-data {
    padding: 135px 0 135px 0;
    background: url(./images/section-dannie-back.png) 0 0 no-repeat;
    background-size: cover;
    background-color: #054198
}

.road-data__wrap {
    display: flex
}

.road-data__wrap-mob {
    display: none
}

.road-data__item {
    position: relative;
    width: 100%;
    padding: 40px 20px 25px 55px;
    background: #cfeaf7;
    border-radius: 10px
}

.road-data__item--left {
    max-width: 600px;
    margin-right: 60px
}

.road-data__item--right {
    max-width: 498px
}

.road__data-title {
    font-size: 25px;
    font-weight: 700;
    line-height: 29px;
    color: #2d2d2d;
    margin: 0 0 17px 0
}

.road-data__item.active .popup__link-image {
    transform: unset
}

.road-data__item--left.active .popup__block {
    top: -90%;
    left: 0;
    bottom: unset;
    padding: 46px 60px 45px 100px
}

.road-data__item--right.active .popup__block {
    top: -90%;
    right: 0;
    bottom: unset
}

.popup__block-close {
    position: absolute;
    top: 15px;
    right: 15px;
    cursor: pointer
}

.popup__block-close img {
    width: 14px;
    height: 14px
}

.form__open-link,
.popup__link--road {
    display: flex;
    align-items: center;
    font-weight: 500;
    font-size: 20px;
    line-height: 23px;
    color: #05295f;
    text-decoration: none
}

.form__open-link:hover,
.popup__link--road:hover {
    opacity: .5
}

.road__content {
    display: flex
}

.road__content-left,
.road__content-right {
    width: 100%
}

.road__content-left {
    padding: 0 0 0 60px
}

.road__list {
    padding: 0;
    margin: 0;
    list-style: none
}

.road__list li {
    background-color: #054198;
    box-shadow: 0 4px 25px rgba(0, 0, 0, .15);
    border-radius: 20px;
    padding: 24px 25px 24px 40px;
    font-size: 18px;
    line-height: 21px;
    margin: 0 0 24px 0
}

.blue-block {
    padding: 60px 0;
    background: #054198;
    width: 100vw;
    position: relative;
    margin-left: -50vw;
    left: 50%;
    margin-bottom: 0;
}

.wrap-flex {
    display: flex
}

.wrap-flex-gps {
    align-items: center
}

.gps__parametr {
    padding: 0;
    margin: 0 145px 0 55px;
    list-style: none
}

.gps__parametr li {
    color: #fff;
    font-size: 20px;
    line-height: 37px
}

.gps__time {
    padding: 0;
    margin: 0;
    list-style: none
}

.gps__time li {
    position: relative;
    font-weight: 500;
    font-size: 25px;
    margin: 0 0 25px 0
}

.gps__time li::before {
    content: '';
    position: absolute;
    top: 50%;
    left: -43px;
    transform: translateY(-50%);
    width: 32px;
    height: 32px;
    background-color: #fff;
    border-radius: 50%
}

.gps__form {
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    padding: 50px 0;
    background: linear-gradient(182.47deg, #fff 6.65%, rgba(255, 255, 255, 0) 85.49%), url(./images/gps-form-back.png) center 0 no-repeat;
    background-size: cover;
    text-align: center
}

.camera {
    position: relative;
    padding: 55px 0;
    background-color: #cfeaf7
}

.camera__wrap {
    display: flex
}

.camera__info {
    padding: 0 50px 0 0
}

.camera__info h2 {
    font-family: Oswald, sans-serif;
    font-size: 40px;
    font-weight: 500;
    line-height: 70px;
    color: #05295f;
    margin: 0 0 25px 0
}

.camera__list {
    display: grid;
    grid-template-columns: repeat(2, minmax(min-content, max-content));
    padding: 0 0 0 40px;
    list-style: none;
    color: #000;
    font-size: 20px
}

.camera__list li {
    position: relative;
    color: #000;
    margin: 0 90px 30px 0
}

.camera__list li::before {
    content: '';
    position: absolute;
    top: 50%;
    left: -40px;
    transform: translateY(-50%);
    width: 32px;
    height: 32px;
    background-color: #05295f;
    border-radius: 50%
}

.camera__img {
    position: absolute;
    min-width: 50vw;
    max-width: 793px;
    right: 25%;
    margin-right: -25vw;
    top: -34px;
    max-height: 447px;
    object-fit: cover;
    border-radius: 20px
}

.alarms {
    position: relative;
    min-height: 400px;
    background-color: #054198;
    margin-top: 40px;
}

.alarms__movie {
    position: absolute;
    top: -33px;
    left: 0
}

.alarms__movie-img {
    max-width: calc(904px + (1240 - 904) * ((100vw - 1020px)/ (1440 - 1020)));
    min-height: 465px;
    object-fit: cover;
    border-top-right-radius: 20px;
    border-bottom-right-radius: 20px;
}

.alarms__movie-link {
    position: absolute;
    top: 50%;
    right: 180px;
    transform: translateY(-50%);
    text-decoration: none;
    display: flex;
    align-items: center;
    font-size: 35px;
    line-height: 41px;
    color: #fff
}

.alarms__movie-link:hover {
    opacity: .5
}

.alarms__movie-play {
    width: 71px;
    height: 71px;
    margin-right: 30px
}

.alarms__desc {
    padding: 134px 0 76px 0;
    background-color: rgba(207, 234, 247, .6)
}

.alarms__desc-wrap {
    display: flex;
    justify-content: space-between
}

.alarms__desc-left,
.alarms__desc-right {
    width: 100%
}

.alarms__desc-left h2,
.alarms__desc-right h2 {
    font-family: Oswald, sans-serif;
    font-size: 40px;
    font-weight: 500;
    line-height: 47px;
    color: #05295f;
    margin: 0 0 20px 0
}

.alarms__desc-left p {
    font-weight: 500;
    font-size: 25px;
    line-height: 32px;
    color: #2f2f2f;
    margin: 0 0 20px 0
}

.alarms__desc-right p {
    font-weight: 300;
    font-size: 25px;
    line-height: 29px;
    color: #000;
    margin: 0 0 20px 0
}

.alarms__blue {
    max-width: 870px;
    margin: 0 auto
}

.alarms__blue p {
    font-weight: 500;
    font-size: 25px;
    line-height: 34px;
    text-align: center;
    color: #fff;
    margin: 0 0 20px 0
}

.alarms__blue p:last-child {
    margin: 0
}

.alarms-content__wrap {
    display: flex;
    align-items: center;
    justify-content: space-between
}

.alarms__list {
    max-width: 665px
}

.page-content--alarms h2 {
    font-size: 40px;
    line-height: 59px;
    text-align: right
}

.alarms__list {
    padding: 0 0 0 30px;
    margin: 0;
    list-style: none
}

.alarms__list h3 {
    font-weight: 500;
    font-size: 30px;
    line-height: 41px;
    color: #05295f;
    margin: 0 0 15px 0
}

.alarms__list p {
    font-weight: 400;
    line-height: 32px
}

.alarms__list li {
    position: relative;
    margin: 0 0 30px 0
}

.alarms__list li::before {
    content: '';
    position: absolute;
    top: 10px;
    left: -30px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background-color: #3fa6db
}

.alarms__list li:last-child {
    margin: 0
}

.page-content--service {
    padding: 0 0 75px 0;
}

.page-content--service h2 {
    font-size: 40px;
    line-height: 59px;
    text-align: left;
}

.page-content--rout {
    padding: 0 0 47px 0;
    background: rgba(207, 234, 247, .6)
}

.rout__wrap {
    display: flex;
    align-items: center;
    padding: 0 0 0 88px
}

.page-content--rout h2 {
    max-width: 226px;
    font-family: Oswald, sans-serif;
    font-weight: 500;
    font-size: 40px;
    line-height: 59px;
    color: #05295f;
    margin: 0
}

.rout__wrap h2 {
    margin: 0 115px 0 0
}

.blue__list {
    padding: 0;
    margin: 0;
    list-style: none
}

.blue__list li {
    position: relative;
    font-size: 20px;
    margin: 0 0 20px 0;
    color: #343434
}

.blue__list li::before {
    content: '';
    position: absolute;
    top: 2px;
    left: -28px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background-color: #3fa6db
}

.rout-media__img {
    display: block
}

.osm {
    position: relative;
    min-height: 400px;
    background-color: #054198;
    margin-top: 40px
}

.osm__map {
    position: absolute;
    top: -33px;
    right: 0;
    z-index: 2
}

.osm__map-img {
    max-width: calc(880px + (1160 - 880) * ((100vw - 1020px)/ (1440 - 1020)));
    min-height: 465px;
    object-fit: cover;
    border-top-left-radius: 20px;
    border-bottom-left-radius: 20px;
}

.osm-desc {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: -128px;
    padding: 84px 56px 82px 62px;
    background-color: #cfeaf7;
    box-shadow: 0 4px 25px rgba(0, 0, 0, .15);
    border-radius: 10px
}

.osm-desc p {
    font-weight: 500;
    font-size: 30px;
    line-height: 35px;
    color: #000;
    margin: 0 0 20px 0
}

.osm-desc p:last-child {
    margin: 0
}

.page-content--osm {
    padding: 103px 0 70px 0
}

.osm__wrap {
    display: flex
}

.osm__wrap-left {
    width: 100%;
    max-width: 400px;
    padding-left: 65px;
    margin-right: 165px
}

.osm__wrap h2 {
    font-size: 40px;
    margin: 0 0 25px 0
}

.bung {
    display: flex;
    background-color: #054198;
    min-height: 400px;
}


.bung-img {
    width: 100%
}

.bung__wrap-left {
    position: relative;
    width: 100%;
    max-width: calc(850px + (1120 - 850) * ((100vw - 1400px)/ (1920 - 1400)))
}

.bung-img {
    position: absolute;
    display: block;
    width: 100%;
    min-height: 440px;
    max-height: 440px;
    object-fit: cover;
    border-top-right-radius: 20px;
    border-bottom-right-radius: 20px;
    top: -20px;
    z-index: 2;
}

.bung__wrap-right {
    max-width: 400px;
    display: flex;
    align-items: center;
    font-family: Oswald, sans-serif;
    font-weight: 500;
    font-size: 40px;
    line-height: 59px;
    padding-left: 130px
}

.bung__content-wrap {
    padding: 0 0 0 95px
}

.page-content--probki {
    padding: 63px 0 55px 0
}

.page-content--dannie {
    background-position: right center
}

.geo {
    background: linear-gradient(182.47deg, #fff 74.65%, rgba(255, 255, 255, 0) 99.49%), url(./images/gps-form-back.png);
    background-repeat: no-repeat;
    background-size: unset;
    background-position: center bottom;
    padding-top: 0;
    color: #000
}

.blue-block--geo {
    padding: 70px 0 80px 0;
    margin-bottom: 90px
}

.geo h2 {
    font-family: Oswald, sans-serif;
    font-weight: 500;
    font-size: 40px;
    text-align: center;
    margin: 0 0 30px 0
}

.blue-block--geo {
    color: #fff
}

.geo p {
    font-weight: 300;
    font-size: 25px;
    line-height: 29px;
    margin: 0 0 35px 0
}

.blue-block--geo p {
    max-width: 875px;
    color: #fff;
    margin: 0 auto 45px auto;
    text-align: center
}

.geo-wrap {
    display: flex;
    justify-content: space-between;
    padding: 0 40px 0 60px
}

.geo-left {
    width: 100%;
    max-width: 610px
}

.geo-circle {
    display: block;
    position: relative;
    font-weight: 500;
    font-size: 25px;
    line-height: 29px;
    margin: 0 0 28px 28px;
    color: #fff
}

.geo-circle::before {
    content: '';
    position: absolute;
    top: -3px;
    left: -45px;
    width: 32px;
    height: 32px;
    background-color: #fff;
    border-radius: 50%;
    margin-bottom: 28px
}

.geo-wrap ul {
    padding: 0;
    margin: 0
}

.geo-wrap li {
    font-weight: 300;
    font-size: 20px;
    line-height: 23px;
    color: #fff;
    margin: 0 0 15px 0
}

.geo-wrap li strong {
    font-weight: 400 !important
}

.geo-wrap--two {
    display: flex;
    flex-direction: column;
    max-width: 760px;
    margin: 0 auto;
}

.geo-wrap--two span {
    font-weight: 500;
    font-size: 25px;
    line-height: 29px;
    margin-bottom: 30px
}

.geo-wrap--two-right {
    margin-left: 0 !important;
}

.car-navigation {
    margin: 40px 0 50px 0
}

.car-navigation__wrap {
    position: relative
}

.car-navigation__wrap::before {
    content: '';
    background-color: #054198;
    position: absolute;
    top: 40px;
    right: 0;
    bottom: 40px;
    left: 50%;
    width: 100vw;
    margin-left: -50vw;
    z-index: -1
}

.car-navigation__img-head {
    border-radius: 20px
}

.car-navigation__list {
    display: flex;
    flex-wrap: wrap;
    padding: 0;
    margin: 0;
    list-style: none
}

.car-navigation__item {
    display: flex;
    align-items: center;
    flex: 0 0 50%;
    font-family: Oswald, sans-serif;
    font-weight: 500;
    font-size: 40px;
    color: #000;
    margin: 0 0 40px 0
}

.car-navigation__item img {
    width: 81px;
    height: 81px;
    margin: 0 17px 0 0
}

.map {
    padding: 185px 0;
    background: url(./images/map-back.png) center center no-repeat;
    background-size: cover
}

.map__wrap {
    display: flex;
    justify-content: center
}

.map__update {
    width: 100%;
    max-width: 875px;
    background: url(./images/map-update-back.png) 0 0 no-repeat;
    background-size: contain;
    padding: 70px 65px 91px 65px;
    border-radius: 10px
}

.map__update-title {
    font-family: Oswald, sans-serif;
    font-weight: 700;
    font-size: 60px;
    line-height: 103px;
    text-align: center;
    color: #05295f
}

.map__update p {
    font-weight: 300;
    font-size: 30px;
    line-height: 35px;
    text-align: center;
    color: #000;
    margin: 0
}

.descktop-off {
    display: none
}

.camera__icon {
    display: none
}

.camera__wrap--576-mobile {
    display: none
}

.full__width-100 img {
    position: relative;
    min-width: 100vw;
    margin-left: -50vw;
    left: 50%;
}

.wp-block-image img {
    height: auto;
}

.current_page_item,
.current-menu-parent {
    font-weight: 700;
}

@media only screen and (max-width:1360px) {
    .camera {
        padding: 40px 0
    }

    .camera__img {
        max-width: 740px
    }
}

@media only screen and (max-width:1280px) {
    .camera {
        padding: 25px 0
    }

    .camera__img {
        max-width: 630px;
        top: -19px
    }
}

@media only screen and (max-width:1199px) {
    .home-page .header {
        padding: 33px 0 0 0
    }

    .header__desc {
        font-size: 18px;
        line-height: 24px
    }

    .header__menu-list li {
        margin-right: 20px
    }

    .header__menu-list li a {
        font-size: 18px;
        line-height: 21px
    }

    .header {
        padding: 20px 0
    }

    .slider {
        padding: 52px 0
    }

    .slider__left--590 {
        max-width: 50%
    }

    .slider__left {
        width: 100%;
        padding: 40px 20px 40px 96px
    }

    .slider__left h2 {
        font-size: 40px;
        line-height: 55px
    }

    .slider__left h3 {
        font-size: 23px;
        line-height: 26px
    }

    .swiper-buttons--prev {
        left: 15px
    }

    .swiper-buttons--next {
        right: 15px
    }

    .map-navigation__left {
        padding-left: 0
    }

    .map-navigation__right {
        padding-right: 0
    }

    .map-navigation__right img {
        width: 100%
    }

    .type__title {
        margin: 0 40px 0 0 !important
    }

}

@media only screen and (max-width:1100px) {

    .header__right {
        display: block;
        align-self: unset;
    }

    .header__email {
        margin: 0 0 15px 0
    }

    .road-data__wrap {
        flex-direction: column;
        align-items: center
    }

    .road-data__item--left {
        order: 2;
        margin-right: 0
    }

    .road-data__item--right {
        margin-bottom: 34px
    }

    .road-data__item--left.active .popup__block {
        top: unset;
        left: 0;
        bottom: 90%
    }

    .gps-mobile-hidden {
        display: none
    }

    .gps__time {
        padding-left: 200px
    }

    .gps__time li {
        font-size: 30px;
        line-height: 35px;
        font-weight: 400
    }

    .camera {
        padding: 100px 0;
        background: url(./images/camera-back.png) 0 0 no-repeat;
        background-size: cover
    }

    .camera__img {
        display: none
    }

    .camera__info {
        position: relative;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        background: #cfeaf7;
        border-radius: 10px;
        padding: 60px 15px 30px 35px;
        margin-left: 40px
    }

    .camera__info h2 {
        line-height: 45px;
        margin-bottom: 40px
    }

    .camera__list {
        margin: 0
    }

    .camera__list li {
        margin: 0 60px 30px 0
    }

    .camera-descktop {
        display: none
    }

    .camera__icon {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0
    }

    .camera__icon-img {
        position: absolute
    }

    .camera__icon-img--1 {
        top: -60px;
        left: 76px
    }

    .camera__icon-img--2 {
        top: -60px;
        left: 223px
    }

    .camera__icon-img--3 {
        top: -60px;
        left: 373px
    }

    .camera__icon-img--4 {
        bottom: -42px;
        left: 30px
    }

    .camera__icon-img--5 {
        bottom: -42px;
        left: 125px
    }

    .camera__icon-img--6 {
        bottom: -42px;
        left: 220px
    }

    .camera__icon-img--7 {
        bottom: -42px;
        left: 315px
    }

    .camera__icon-img--8 {
        bottom: -42px;
        left: 410px
    }

    .camera__icon {
        display: block
    }

    .alarms__movie-link {
        right: 115px;
        font-size: 30px;
        line-height: 35px
    }

    .alarms__desc-right p {
        font-size: 20px;
        line-height: 23px
    }

    .alarms__desc-left h2,
    .alarms__desc-right h2 {
        font-size: 35px;
        line-height: 41px
    }

    .alarms__desc-left p {
        font-size: 20px;
        line-height: 26px
    }

    .alarms__blue p {
        text-align: left;
        font-size: 20px;
        line-height: 27px
    }

    .alarms__list {
        max-width: 465px
    }

    .alarms__list h3 {
        font-size: 25px;
        line-height: 34px
    }

    .page-content--alarms h2 {
        font-size: 35px;
        line-height: 52px
    }

    .alarms__list p {
        font-size: 18px;
        line-height: 25px
    }

    .alarms__blue--marsh p {
        text-align: center;
        font-size: 25px;
        line-height: 34px
    }

    .rout__wrap {
        padding: 0
    }

    .blue__list li {
        font-size: 18px;
        line-height: 29px;
        margin: 0 0 10px 0
    }

    .osm__wrap-left {
        padding-left: 38px
    }

    .page-head__desc--osm {
        max-width: 715px;
        margin: 0 auto
    }

    .osm {
        margin-top: 20px
    }

    .osm__wrap-left {
        margin-right: 130px
    }

    .osm__wrap-right {
        max-width: 440px
    }

    .bung {
        position: relative;
        min-height: auto;
    }

    .bung__content-wrap {
        padding-left: 0
    }

    .bung-img {
        position: relative;
        z-index: 0;
        min-height: auto;
        border-radius: unset;
    }

    .bung__wrap-left {
        max-width: 100%
    }

    .bung__wrap-right {
        max-width: 100%;
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        padding: 23px 0;
        justify-content: center;
        background-color: #054198;
        font-size: 35px;
        line-height: 52px
    }

    .bung__list {
        padding-left: 20px
    }

    .geo-wrap {
        justify-content: space-between
    }

    .geo-left {
        max-width: 550px
    }

    .geo h2 {
        font-size: 35px
    }

    .geo p {
        font-size: 20px;
        line-height: 23px
    }

    .geo-circle {
        font-size: 20px;
        line-height: 23px;
        margin: 0 0 20px 28px
    }

    .geo-circle::before {
        width: 20px;
        height: 20px
    }

    .geo-wrap--two span,
    .geo-wrap--two-left ul,
    .geo-wrap--two-right ul {
        font-size: 20px;
        line-height: 23px
    }

    .geo-wrap--two-left ul li,
    .geo-wrap--two-right ul li {
        margin-bottom: 5px
    }

    .geo-wrap--two {
        align-items: flex-start;
    }

    .car-navigation__item {
        font-size: 35px;
        line-height: 52px
    }

    .map__update-title {
        font-size: 55px;
        line-height: 95px
    }

    .map__update p {
        font-size: 25px;
        line-height: 29px
    }
}

@media only screen and (max-width:1019px) {
    .osm__wrap-left {
        margin-right: 35px
    }

    .slider__item {
        min-height: auto;
    }
}

@media only screen and (max-width:992px) {
    .osm__map-img {
        max-width: 680px
    }

    .osm-desc {
        left: -80px;
        padding: 60px 30px
    }

    .geo h2 {
        text-align: left
    }

    .geo p {
        text-align: left;
        margin: 0
    }

    .geo-wrap {
        flex-direction: column;
        margin-top: 25px;
        padding: 0 0 0 20px
    }

    .geo-left {
        flex-basis: 0 !important;
        margin-bottom: 15px;
    }

    .geo-right {
        flex-basis: 0 !important;
    }

    .geo-circle {
        margin: 0 0 20px 10px
    }

    .geo-circle::before {
        width: 15px;
        height: 15px;
        top: 3px;
        left: -35px;
        margin: 0
    }

    .geo-wrap li {
        font-size: 18px;
        line-height: 19px
    }

    .geo-wrap--two {
        flex-direction: column;
        margin-top: 20px
    }

    .geo-wrap--two-left {
        order: 2
    }

    .car-navigation__item {
        font-size: 25px;
        line-height: 32px
    }

    .car-navigation__item img {
        width: 60px;
        height: 60px
    }
}

@media only screen and (max-width:920px) {
    .header__title {
        font-size: 37px;
        line-height: 43px
    }

    .header__img-logo {
        width: 100px;
        height: 100px
    }

    .header__desc {
        font-size: 16px;
        line-height: 22px
    }

    .header__email {
        font-size: 18px;
        line-height: 21px;
    }

    .slider__left {
        width: 100%;
        padding: 40px 20px 40px 70px
    }

    .swiper-buttons {
        width: 40px;
        height: 40px
    }

    .swiper-buttons__image {
        width: 8px;
        height: 16px
    }

    .swiper-buttons--prev {
        left: 10px
    }

    .swiper-buttons--next {
        right: 10px
    }

    .slider__left {
        width: 100%;
        padding: 30px 20px 30px 70px
    }

    .slider__left h2 {
        font-size: 34px;
        line-height: 35px
    }

    .slider__left h3 {
        font-size: 18px;
        line-height: 21px
    }

    .page-head {
        padding: 35px 0 40px 0
    }

    .page-head__title {
        font-size: 55px;
        line-height: 75px
    }

    .map-navigation__left {
        max-width: 330px
    }

    .map-navigation__left p {
        font-size: 20px;
        line-height: 32px
    }

    .map-navigation__left p span {
        font-size: 35px;
        line-height: 55px
    }

    .type__head {
        flex-direction: column
    }

    .type__title {
        max-width: 100%;
        margin-bottom: 20px !important
    }

    .page-content--dannie {
        padding: 80px 0 65px 0
    }

    .type__list {
        padding-left: 28px
    }

    .page-content h3 {
        font-size: 30px;
        line-height: 37px
    }

    .road__content-left {
        padding: 0
    }

    .road__list li {
        padding: 24px 25px 24px 20px;
        font-size: 16px;
        line-height: 19px
    }

    .page-content p {
        font-size: 18px;
        line-height: 24px
    }

    .rout__wrap {
        flex-direction: column;
        align-items: flex-start
    }

    .rout__wrap .wp-block-column {
        flex-basis: 0 !important;
    }

    .blue__list {
        padding-left: 28px
    }

    .rout__wrap h2 {
        max-width: 100%;
        margin: 0 0 15px 0
    }

    .osm__wrap {
        flex-direction: column
    }

    .osm__wrap-left {
        max-width: 100%;
        padding: 0;
        margin: 0 0 20px 0
    }

    .osm__wrap-right {
        max-width: 100%
    }

    .bung__list {
        -webkit-column-count: 1;
        -moz-column-count: 1;
        column-count: 1
    }
}

@media only screen and (max-width:880px) {

    .slider__left--460,
    .slider__left--510 {
        max-width: 50%
    }

    .alarms-content__wrap,
    .alarms__desc-wrap {
        flex-direction: column
    }

    .alarms-content__wrap {
        align-items: flex-start
    }

    .alarms-content__left {
        order: 2
    }

    .page-content--alarms h2 {
        text-align: left
    }

    .alarms {
        min-height: 360px;
        margin-top: 25px
    }

    .alarms__movie-img {
        min-height: 425px
    }

    .alarms__movie-link {
        right: 30px
    }
}

@media only screen and (max-width:840px) {
    .header__link {
        margin-right: 15px
    }

    .header__img-logo {
        width: 90px;
        height: 90px
    }

    .header__title {
        font-size: 30px;
        line-height: 36px
    }

    .header__email-icon {
        width: 33px;
        height: 30px;
        margin-right: 15px
    }

    .header__email {
        font-size: 16px;
        line-height: 18px;
    }

    .header__menu-list li {
        margin-right: 10px
    }

    .header__menu-list li a {
        font-size: 16px;
        line-height: 19px
    }
}

@media only screen and (max-width:767px) {
    .mobile-off {
        display: none
    }

    .mobile-on {
        display: block
    }

    .header__wrap {
        flex-direction: column;
        align-items: center
    }


    .header__info {
        max-width: 100%
    }

    .header__desc {
        display: flex;
        align-items: center
    }

    .header__title {
        font-size: 35px;
        line-height: 36px;
        margin-bottom: 10px
    }

    .header__desc {
        display: flex;
        align-items: center;
        font-size: 13px;
        line-height: 17px
    }

    .header__email.mobile-on {
        margin: 0 0 0 25px
    }

    .header__email-icon {
        margin-right: 0
    }

    .header__menu-list li a {
        font-size: 20px;
        line-height: 21px
    }

    .header__menu-list li {
        margin-right: 15px
    }

    .footer {
        padding: 22px 0
    }

    .page-head__mini-title {
        font-size: 20px;
        line-height: 24px
    }

    .page-head__title {
        font-size: 50px;
        line-height: 75px
    }

    .page-head__desc {
        font-size: 30px;
        line-height: 42px
    }

    .page-content--dannie {
        padding: 50px 0
    }

    .type__head {
        margin: 0 0 30px 0
    }

    .type__list {
        grid-template-columns: repeat(1, minmax(270px, 399px))
    }

    .type-container {
        width: 100%;
        margin: 0 0 30px 0
    }

    .page-content h3 {
        margin: 0 0 20px 0;
        font-size: 25px;
        line-height: 30px
    }

    .page-content p {
        margin: 0 0 20px 0
    }

    .popup__left.active .popup__block {
        right: 0;
        bottom: 75px
    }

    .popup__right.active .popup__block {
        left: 0;
        bottom: 75px
    }

    .type__list li {
        margin-bottom: 3px
    }

    .active .popup__block {
        padding: 25px 30px
    }

    .popup__block p {
        margin: 0 0 10px 0
    }

    .road__content {
        flex-direction: column
    }

    .road__content-left {
        order: 2;
        padding-left: 55px
    }

    .road__content-right {
        margin-bottom: 55px
    }

    .gps__time {
        padding-left: 43px
    }

    .camera__info {
        margin-left: 0
    }

    .osm {
        min-height: 340px;
        margin-top: 35px
    }

    .osm__map-img {
        max-width: 500px;
        min-height: 400px
    }

    .osm-desc p {
        font-size: 20px;
        line-height: 23px
    }

    .osm-desc {
        left: -50px
    }

    .bung__wrap-right {
        font-size: 25px;
        line-height: 37px;
        padding: 10px 0
    }

    .bung__list {
        font-size: 14px;
        line-height: 16px
    }

    .bung__list li::before {
        width: 15px;
        height: 15px
    }

    .geo p,
    .geo-wrap li,
    .geo-wrap--two span,
    .geo-wrap--two-left ul,
    .geo-wrap--two-right ul {
        font-size: 16px;
        line-height: 19px
    }

    .blue-block--geo {
        margin-bottom: 45px
    }

    .car-navigation__item {
        font-size: 18px;
        line-height: 27px;
        margin-bottom: 30px
    }

    .car-navigation__item img {
        width: 45px;
        height: 45px
    }

    .map__update {
        background-size: cover;
        padding: 25px 25px 40px 25px
    }
}

@media only screen and (max-width:640px) {
    .header__menu-list li ul {
        padding: 10px 20px 10px 40px;
        left: 0;
        margin-left: 0
    }

    .header__menu-list li ul::before {
        left: 0;
        transform: unset
    }

    .header__menu-list li ul li {
        margin-bottom: 10px
    }

    .header__menu-list li ul li a {
        font-size: 16px;
        line-height: 18px
    }

    .page-head {
        padding: 30px 0 30px 0
    }
}

@media only screen and (max-width:620px) {
    .map-navigation__wrap {
        padding: 45px 0
    }

    .map-navigation__left {
        max-width: 240px
    }

    .map-navigation__left p {
        font-size: 16px;
        line-height: 24px
    }

    .map-navigation__left p span {
        font-size: 25px;
        line-height: 35px
    }
}

@media only screen and (max-width:576px) {
    .slider__left {
        padding: 20px 10px 10px 55px
    }

    .slider__left p {
        font-size: 11px;
        line-height: 16px;
        margin: 0 0 10px 0
    }

    .slider__left h2 {
        font-size: 18px;
        line-height: 22px;
        margin: 0 0 10px 0
    }

    .slider__left h3 {
        font-size: 10px;
        line-height: 17px;
        margin-bottom: 10px
    }

    .slider__link-wrap {
        margin-top: 10px
    }

    .slider__link {
        font-size: 15px;
        line-height: 19px
    }

    .slider__link-image {
        width: 25px;
        height: 25px;
        margin-right: 13px
    }

    .swiper-buttons {
        width: 30px;
        height: 30px
    }

    .swiper-buttons__image {
        width: 6px;
        height: 14px
    }

    .swiper-pagination {
        padding: 10px 0
    }

    .swiper-horizontal>.swiper-pagination-bullets,
    .swiper-pagination-bullets.swiper-pagination-horizontal,
    .swiper-pagination-custom,
    .swiper-pagination-fraction {
        bottom: -40px
    }

    .swiper-pagination-bullet,
    .swiper-pagination-bullet:last-child {
        margin: 0 4px !important
    }

    .footer__copyright {
        font-size: 14px;
        line-height: 16px
    }

    .header__menu-list li {
        margin-right: 30px
    }

    .page-head__mini-title {
        font-size: 16px;
        line-height: 19px;
        margin-bottom: 10px
    }

    .page-head__title {
        font-size: 38px;
        line-height: 39px;
        margin-bottom: 15px
    }

    .page-head__desc {
        font-size: 20px;
        line-height: 25px
    }

    .active .popup__block {
        padding: 15px 10px
    }

    .road-data {
        padding: 0;
        min-height: 217px
    }

    .road-data__wrap-desc {
        display: none
    }

    .road-data__wrap-mob {
        display: flex;
        margin-bottom: 55px
    }

    .road-data__item--right {
        max-width: 100%;
        margin-bottom: 28px
    }

    .page-content p {
        font-size: 16px;
        line-height: 22px
    }

    .wrap-flex-gps {
        justify-content: center;
        margin-top: 30px
    }

    .gps__time {
        display: flex;
        flex-direction: row-reverse;
        align-items: center;
        justify-content: center;
        padding: 0
    }

    .gps__time li {
        flex: 0 0 39%;
        text-align: center;
        margin: 0;
        font-size: 18px;
        line-height: 21px
    }

    .gps__time li::before {
        content: '';
        position: absolute;
        top: -35px;
        left: 50%;
        transform: translateX(-50%);
        width: 25px;
        height: 25px;
        background-color: #fff;
        border-radius: 50%
    }

    .camera {
        padding: 0;
        min-height: 224px
    }

    .camera__wrap--576-hidden {
        display: none
    }

    .camera__wrap--576-mobile {
        display: block
    }

    .camera__wrap {
        position: relative;
        top: -70px
    }

    .camera__icon-img--1 {
        top: -175px;
        left: 55px;
        width: 73px
    }

    .camera__icon-img--2 {
        top: -175px;
        left: 160px;
        width: 73px
    }

    .camera__icon-img--3 {
        top: -175px;
        left: 255px;
        width: 73px
    }

    .camera__icon-img--4 {
        width: 60px;
        top: -75px;
        bottom: unset;
        left: 10px
    }

    .camera__icon-img--5 {
        width: 60px;
        top: -75px;
        bottom: unset;
        left: 80px
    }

    .camera__icon-img--6 {
        width: 60px;
        top: -75px;
        bottom: unset;
        left: 155px
    }

    .camera__icon-img--7 {
        width: 60px;
        top: -75px;
        bottom: unset;
        left: 230px
    }

    .camera__icon-img--8 {
        width: 60px;
        top: -75px;
        bottom: unset;
        left: 305px
    }

    .camera__info h2 {
        font-size: 25px;
        margin-bottom: 25px
    }

    .camera__info {
        display: flex;
        flex-wrap: wrap;
        font-size: 14px;
        padding: 30px 15px 30px 35px
    }

    .camera__list {
        display: flex;
        flex-wrap: wrap;
        font-size: 14px
    }

    .camera__list li {
        margin: 0 0 15px 0;
        flex: 0 0 50%;
        text-align: left
    }

    .gps__form {
        background-size: contain;
        background-position: center bottom
    }

    .form__open-link {
        font-size: 16px;
        line-height: 18px
    }

    .alarms {
        min-height: 188px
    }

    .alarms__movie {
        top: -15px
    }

    .alarms__movie-img {
        max-width: 425px;
        min-height: 220px
    }

    .alarms__movie-link {
        font-size: 18px;
        line-height: 21px
    }

    .alarms__movie-play {
        width: 38px;
        height: 38px;
        margin-right: 10px
    }

    .alarms__desc {
        padding: 55px 0 40px 0
    }

    .alarms__desc-left h2,
    .alarms__desc-right h2 {
        font-size: 25px;
        line-height: 30px;
        margin: 0 0 15px 0
    }

    .alarms__desc-left p {
        font-size: 18px;
        line-height: 23px;
        margin: 0 0 10px 0
    }

    .alarms__desc-right p {
        font-size: 16px;
        line-height: 19px
    }

    .alarms__blue p {
        text-align: center;
        font-size: 16px;
        line-height: 21px
    }

    .blue-block {
        padding: 43px 0
    }

    .page-content--service {
        padding: 0 0 50px 0;
    }

    .page-content--service h2 {
        font-size: 25px;
        line-height: 28px
    }

    .page-content--service h3 {
        font-size: 20px;
        line-height: 28px
    }

    .blue__list li {
        font-size: 14px;
        line-height: 20px
    }

    .osm {
        min-height: 240px
    }

    .osm__map {
        top: -20px
    }

    .osm__map-img {
        max-width: 410px;
        min-height: 280px
    }

    .osm-desc {
        left: -45px;
        padding: 60px 10px
    }

    .car-navigation__list {
        display: grid;
        grid-template-columns: repeat(2, minmax(55%, 40%))
    }

    .car-navigation__item {
        font-weight: 400
    }

    .car-navigation__item img {
        margin: 0 10px 0 0
    }

    .page-content--car {
        padding: 35px 0 40px 0
    }

    .map__update-title {
        font-size: 38px;
        line-height: 65px
    }

    .map__update p {
        font-size: 16px;
        line-height: 19px
    }
}

@media only screen and (max-width:479px) {
    .home-page .header {
        padding: 20px 0 0 0
    }

    .header__left {
        flex-direction: column
    }

    .header__link {
        flex: 0 0 100%;
        text-align: center;
        margin-right: 0
    }

    .header__img-logo {
        width: 80px;
        height: 80px
    }

    .header__info {
        flex: 0 0 100%
    }

    .header__title {
        font-size: 25px;
        line-height: 29px;
        text-align: center
    }

    .header__desc {
        font-size: 12px;
        line-height: 17px
    }

    .header__menu-list li {
        margin-right: 15px
    }

    .slider__right {
        display: none
    }

    .slider__left {
        max-width: 100%;
        padding: 25px 10px
    }

    .swiper-buttons {
        display: none
    }

    .slider__left p {
        font-size: 16px;
        line-height: 20px
    }

    .slider__left h2 {
        font-size: 22px;
        line-height: 30px
    }

    .slider__left h3 {
        font-size: 18px;
        line-height: 21px
    }

    .map-navigation__wrap {
        flex-direction: column;
        padding: 20px 0
    }

    .map-navigation__left {
        text-align: center;
        margin-bottom: 25px
    }

    .road__content-left {
        padding-left: 0
    }

    .road-data__item,
    .road-data__item--left.active .popup__block {
        padding: 25px 20px
    }

    .alarms__movie {
        left: 0
    }

    .alarms__movie-img {
        max-width: 100%
    }

    .osm__map {
        left: 0;
        right: 0
    }

    .osm__map-img {
        width: 100%;
        max-width: 100%
    }

    .osm-desc {
        position: relative;
        left: 0;
        padding: 30px 15px
    }

    .osm-desc p {
        font-size: 16px;
        line-height: 20px
    }
}

@media only screen and (max-width:420px) {
    .camera {
        background-position: right center
    }

    .camera__list {
        flex-direction: column
    }

    .camera__icon-img--1 {
        top: -175px;
        left: 24px;
        width: 55px
    }

    .camera__icon-img--2 {
        top: -175px;
        left: 95px;
        width: 55px
    }

    .camera__icon-img--3 {
        top: -175px;
        left: 170px;
        width: 55px
    }

    .camera__icon-img--4 {
        width: 50px;
        top: -75px;
        bottom: unset;
        left: 0
    }

    .camera__icon-img--5 {
        width: 50px;
        top: -75px;
        bottom: unset;
        left: 55px
    }

    .camera__icon-img--6 {
        width: 50px;
        top: -75px;
        bottom: unset;
        left: 110px
    }

    .camera__icon-img--7 {
        width: 50px;
        top: -75px;
        bottom: unset;
        left: 165px
    }

    .camera__icon-img--8 {
        width: 50px;
        top: -75px;
        bottom: unset;
        left: 220px
    }
}

@media only screen and (max-width:360px) {
    .page-head__title {
        font-size: 33px;
        line-height: 34px
    }
}