/*NOTE: This file is intended for programmers. Aspro technical support is not advised to work with him.*/

/* Examples (uncomment to use):*/

/* Expand site width */
/* body .wrapper { max-width: 1400px !important;  } */

/* Set site background image */
/* body {  background: url(image_source) top no-repeat; }

/* Hide compare button */
/* a.compare_item { display: none !important;  }*/

html { text-align: justify; }

/*** global blocks ***/
/* fly basket */
.header-cart .basket_fly {
    top: calc(50% - 142px);
}
/* /fly basket */

/* header */
@media (max-width: 600px) {
    #mobileheader .right-icons .basket-link:not(.basket), #mobileheader .wrap_cabinet, body #header ul.menu.full.opened li:hover .child, body #header ul.menu.full.opened li:hover .space, body #header ul.menu.full > li.stretch {
        display: initial;
    }

    .svg.inline.big {
        min-width: 14px;
        min-height: 14px;
        width: 14px;
        height: 14px;
        top: -2px;
    }
}
/* /header */

/* footer */
.copy-block noindex {
    display: inline-block;
}
/* /footer */

/* main menu */
.mega-menu table td:not(.wide_menu) .dropdown-menu li > a .name {
    max-width: inherit;
}

.menu-row .mega-menu table td.wide_menu > .wrap > .dropdown-menu .menu-wrapper > li.has_img .menu_img img {
    margin-top: calc(18px - (var(--menu_img_height) / 2));
}

@media (min-width: 1300px) {
    .menu-row.middle-block .mega-menu table td.catalog {
        width: 278px;
    }

    .menu-row.middle-block:not(.bglight) .mega-menu table td.catalog>.wrap {
        width: 277px;
    }
}

    /* fixed menu */
    .with-dropdown-item:after
    {
        top: 19px;
        font-family: FontAwesome;
        content: "\f107";
        width: 6px;
        position: absolute;
        right: 0;
    }
    /* /fixed menu */
/* /main menu */

/* top menu */
.menu.topest>li.current>a {
    color: #fd0031;
}
/* /top menu */

/* left block */
@media (min-width: 1300px) {
    .left_block {
        width: 25%;
        padding-right: 48px;
    }
    .right_block.wide_, .right_block.wide_N {
        width: 75% !important;
    }
}
/* /left block */

/* popup position */
.popup.show { margin-left: 40%; margin-top: 1%; max-height: fit-content; }
.popup.dyn_mp_jqm_frame.MAIN { margin-left: 30%; margin-top: 15%; } /* Marketing popup */
/* /popup position */
/*** /global blocks ***/

/*** Main page ***/

/* company reference */
.profit-front-block .item .image {
    background: #de002b;
}
/* /company reference */

/* Убираем стрелочки в популярных категориях в мобильном виде */
@media (max-width: 767px) {
    .sections_wrapper.compact-view-mobile .list .item .name a:after {
        background-image: none;
    }
}
/* /Убираем стрелочки в популярных категориях в мобильном виде */

/* Выравниваем блоки с товарами в табах */
.best_block.tab_slider_wrapp ul.tabs_content li.tab .catalog_block >div {
    margin: 0px 0px -2px 0px;
}
/* /Выравниваем блоки с товарами в табах */

/*** /Main page ***/

/* contacts */
.shops.list .item .address{width:400px;}
    /* yandex map */
    .map-detail-items__item--hidden {
        display: none;
    }
    .map-detail-items__item {
        padding: 25px 32px;
    }
    .map-detail-items__item-svg {
        position: absolute;
        right: 6px;
        top: 8px;
        width: 30px;
        height: 30px;
        text-align: center;
        cursor: pointer;
    }
    .map-detail-items__item-svg:not(:hover) svg path {
        fill: #999;
    }
    .map-detail-items__item-close {
        width: 10px;
        height: 10px;
    }
    .map-detail-items__item-title {
        margin-bottom: 18px;
    }
    .map-detail-items__item-property {
        margin-top: 10px;
    }
    .map-detail-items__item-buttons {
        margin-top: 24px;
    }
    @media (max-width: 530px) {
        .map-detail-items__item {
            padding-left: 28px;
            padding-right: 28px;
        }
    }
    /* /yandex map */

    /* detail page */
    .shops.list .item .metro i, .store_property.metro .value i, .stores_list .store_text.metro .value i {
        margin-top: 5px;
        vertical-align: top;
    }
    .module-map .infoBox .metro > i, .shops.list .item .metro i, .store_property.metro .value i, .stores_list .store_text.metro .value i {
        display: inline-block;
        float: none;
    }
    .module-map .infoBox .metro > i.svg, .shops.list .item .metro i.svg, .store_property.metro .value i.svg, .stores_list .store_text.metro .value i.svg {
        min-height: 15px;
    }

    @media all and (max-width: 460px) {
        blockquote:before {
            display: none;
        }
        .accordion-type-2 .panel-collapse .accordion-body {
            padding-left: 3px;
            padding-right: 3px;
        }
        body .contacts_left .col-md-12, body .contacts_right .col-md-12 {
            padding-left: 0;
            padding-right: 0;
        }
    }

    /* /detail page */

    .contacts_right h3 { margin-top: 0; }
/* /contacts */

/* about-us */
.half-w-block-title { font-weight: bold; }
/* /about-us */

/* sale */
.item-views .item .period span, .detail .period span.period-label { font-weight: 900; }
.item-views .item .period span, .detail .period span.date {
    color: #de002b;
    font-weight: 900;
}
/* /sale */

/* product card */
.item_slider .slides {
    height: 300px;
}
.item_slider:not(.flex) .slides li {
    height: 300px;
    line-height: 300px;
}
.item_slider .thumbs .slides_block li {
    width: 50px !important;
    height: 37px;
}
.info_item .preview_text {
    max-height: 120px;
}
@media (max-width: 576px) {
    .catalog_detail .element_detail_text .price_txt>.sharing+.text {
        padding-left: 0;
    }
}

.tabs .nav.nav-tabs a { padding: 17px 14px 18px; }

.counter_block.big_basket { width: auto; }

body #reviews_content { margin-top: 15px; }

html:not(.bx-touch) .item_slider .like_icons .compare_item:hover i:before {
    background-position: -26px -62px;
}

/* Стрелочки у превьюшек под главной картинкой */
.catalog_detail .item_slider #thumbs {
    height: 40px;
}
/* /Стрелочки у превьюшек под главной картинкой */

/* Убираем отступы у блоков на вкладках Вам может понравиться и Популярные товары с карточками товаров при наведении */
.tabs_slider .catalog_item:not(.touch):hover {
    padding-bottom: 0;
}
/* Убираем отступы у блоков на вкладках Вам может понравиться и Популярные товары с карточками товаров при наведении */

body .ajax_load.block .catalog_item:hover .footer_button, body .ajax_load.block .catalog_item.hover .footer_button {
    margin-top: 5px;
}

/* /product card */

/* brands */
@media (max-width: 576px) {
    .detail.partners .detailimage {
        margin: 0 0 50px 0;
        width: 100%;
        float: none;
    }
}
/* /brands */

/* services */
    /* отступ текста под списком услуг */
    .text_after_items { padding: 0; }

    /* отступы в фотогалерее */
    .flexslider .slides > li.visible:nth-child(1) {
        margin-left: 0;
    }
    .flexslider .slides > li.visible {
        margin-left: 10px;
    }
/* /services */

/* vacancy list */
.item-views.accordion .item { padding-bottom: 0; }
.item-views .item .previewtext { margin-bottom: 10px; }
.item-views .item .property.item .title-prop {
    margin: 0 0 3px;
    color: #999;
    font-size: 0.7667em;
    line-height: 1.3em;
    text-transform: uppercase;
    letter-spacing: 0.8px!important;
}
.item-views .item .property.item .value{
    font-size: 1em;
    line-height: 1.4375em;
}
.vacancy.item-views .btn { margin-top: 0; }
/* /vacancy list */

/* PRODUCT LIST */
    /* smart filter compact */
    @media all and (max-width:1199px) {
        .bx_filter .bx_filter_button_box .bx_filter_parameters_box_container > .btn {
            padding-left: 10px;
            padding-right: 10px;
        }
    }
    @media all and (min-width:768px){
        .bx_filter.compact .bx_filter_button_box{padding:0;}
        .bx_filter.compact .bx_filter_button_box{display:none;margin:0 -19px 17px;padding:10px 19px 10px;height:57px;text-align:left;border-top:1px solid #f2f2f2;background:#f9f9f9;}
        .bx_filter.compact .bx_filter_button_box .btn{float:right;}
        .bx_filter.compact .bx_filter_button_box .bx_filter_container_modef{margin:6px 5px 0 0;float:left;font-size:13px;color:#666666;}
        .bx_filter.compact .bx_filter_parameters_box.prices .bx_filter_button_box{margin:0;}
    }
    @media screen and (max-width:767px), projection and (max-width:767px), tv and (max-width:767px), handheld and (max-width:767px){
        body .bx_filter_vertical .bx_filter_section .bx_filter_button_box.active .bx_filter_block .bx_filter_parameters_box_container{width:100%;text-align:left;}
        .bx_filter.compact .bx_filter_parameters_box .bx_filter_button_box{display:none!important;}
        .bx_filter.compact .bx_filter_button_box.hidden{display:block!important;}
        .bx_filter.compact .bx_filter_button_box.hidden .bx_filter_block{display:block!important;}
        .bx_filter.compact .bx_filter_button_box.hidden .bx_filter_block .btn{visibility:visible;}
        .bx_filter.compact .bx_filter_parameters_box .bx_filter_button_box{display:none!important;}
    }
    @media all and (max-width:400px){
        body .bx_filter_vertical .bx_filter_section .bx_filter_button_box.active .bx_filter_block .bx_filter_parameters_box_container{text-align:center;white-space:nowrap;}
        body .bx_filter_vertical .bx_filter_section .bx_filter_button_box.active .bx_filter_block .bx_filter_parameters_box_container > *{margin-top:10px;}
    }
    /* /smart filter compact */

/* Добавляем отступ названия от индикатора под картинкой */
@media (max-width: 460px) {
    .ce_cmp .catalog_block .item-title a, .ce_cmp .catalog_block .item-title a span, .ce_cmp .tabs_slider.items .item-title a, .ce_cmp .tabs_slider.items .item-title a span {
        padding-top: 2px;
    }
}
/* /Добавляем отступ названия от индикатора под картинкой */

/* table view */
.with_fast_view .list_item .fast_view_block:before, .icons.fast_view_block:before{
    left: 10px;
    width: 20px;
    background: url(../images/svg/icons_wish.svg) -144px -291px no-repeat;
}
/* /table view */

/* /PRODUCT LIST */

/* Оформление */
/* Бегущие цыфры с иконками */
.profit-front-block .props { color: #888; padding-bottom: 30px; }
.profit-front-block .item .image {
    width: 48px;
    height: 48px;
    border-radius: 100%;
    /*background: rgba(255,255,255,.4);*/
    line-height: 45px;
    max-height: 48px;
    min-height: 48px;
    max-width: 100%;
    float: left;
    overflow: hidden;
    text-align: center;
    position: relative;
}
.profit-front-block .item .image+.body-info { padding: 0 0 0 60px; }
.profit-front-block .item .title { padding: 0 0 0 55px; }
.profit-front-block .props .value { font-size: 3.2em; line-height: 35px; }
/* /Бегущие цыфры с иконками */

hr.colored_line { background: #ed1c24; }

/* Размер стралочки в меню мобильной версии */
#mobilemenu .menu ul>li .arrow .svg {
    background-size: 7px 7px;
}
/* /Размер стралочки в меню мобильной версии */
/* /Оформление */

/* Forms */
.form .form_result, .form .form_result.success * {
    color: green;
}
/* /Forms */

/* hide composite btn */
#bx-composite-banner, .bx-composite-btn { display: none; }
/* /hide composite btn */

/* bootstrap v4 paddings/margings */
.no-gutters {
    margin-right: 0;
    margin-left: 0;
}
.no-gutters > .col,
.no-gutters > [class*="col-"] {
    padding-right: 0;
    padding-left: 0;
}

.m-0 {
    margin: 0 !important;
}

.mt-0,
.my-0 {
    margin-top: 0 !important;
}

.mr-0,
.mx-0 {
    margin-right: 0 !important;
}

.mb-0,
.my-0 {
    margin-bottom: 0 !important;
}

.ml-0,
.mx-0 {
    margin-left: 0 !important;
}

.m-1 {
    margin: 0.25rem !important;
}

.mt-1,
.my-1 {
    margin-top: 0.25rem !important;
}

.mr-1,
.mx-1 {
    margin-right: 0.25rem !important;
}

.mb-1,
.my-1 {
    margin-bottom: 0.25rem !important;
}

.ml-1,
.mx-1 {
    margin-left: 0.25rem !important;
}

.m-2 {
    margin: 0.5rem !important;
}

.mt-2,
.my-2 {
    margin-top: 0.5rem !important;
}

.mr-2,
.mx-2 {
    margin-right: 0.5rem !important;
}

.mb-2,
.my-2 {
    margin-bottom: 0.5rem !important;
}

.ml-2,
.mx-2 {
    margin-left: 0.5rem !important;
}

.m-3 {
    margin: 1rem !important;
}

.mt-3,
.my-3 {
    margin-top: 1rem !important;
}

.mr-3,
.mx-3 {
    margin-right: 1rem !important;
}

.mb-3,
.my-3 {
    margin-bottom: 1rem !important;
}

.ml-3,
.mx-3 {
    margin-left: 1rem !important;
}

.m-4 {
    margin: 1.5rem !important;
}

.mt-4,
.my-4 {
    margin-top: 1.5rem !important;
}

.mr-4,
.mx-4 {
    margin-right: 1.5rem !important;
}

.mb-4,
.my-4 {
    margin-bottom: 1.5rem !important;
}

.ml-4,
.mx-4 {
    margin-left: 1.5rem !important;
}

.m-5 {
    margin: 3rem !important;
}

.mt-5,
.my-5 {
    margin-top: 3rem !important;
}

.mr-5,
.mx-5 {
    margin-right: 3rem !important;
}

.mb-5,
.my-5 {
    margin-bottom: 3rem !important;
}

.ml-5,
.mx-5 {
    margin-left: 3rem !important;
}

.p-0 {
    padding: 0 !important;
}

.pt-0,
.py-0 {
    padding-top: 0 !important;
}

.pr-0,
.px-0 {
    padding-right: 0 !important;
}

.pb-0,
.py-0 {
    padding-bottom: 0 !important;
}

.pl-0,
.px-0 {
    padding-left: 0 !important;
}

.p-1 {
    padding: 0.25rem !important;
}

.pt-1,
.py-1 {
    padding-top: 0.25rem !important;
}

.pr-1,
.px-1 {
    padding-right: 0.25rem !important;
}

.pb-1,
.py-1 {
    padding-bottom: 0.25rem !important;
}

.pl-1,
.px-1 {
    padding-left: 0.25rem !important;
}

.p-2 {
    padding: 0.5rem !important;
}

.pt-2,
.py-2 {
    padding-top: 0.5rem !important;
}

.pr-2,
.px-2 {
    padding-right: 0.5rem !important;
}

.pb-2,
.py-2 {
    padding-bottom: 0.5rem !important;
}

.pl-2,
.px-2 {
    padding-left: 0.5rem !important;
}

.p-3 {
    padding: 1rem !important;
}

.pt-3,
.py-3 {
    padding-top: 1rem !important;
}

.pr-3,
.px-3 {
    padding-right: 1rem !important;
}

.pb-3,
.py-3 {
    padding-bottom: 1rem !important;
}

.pl-3,
.px-3 {
    padding-left: 1rem !important;
}

.p-4 {
    padding: 1.5rem !important;
}

.pt-4,
.py-4 {
    padding-top: 1.5rem !important;
}

.pr-4,
.px-4 {
    padding-right: 1.5rem !important;
}

.pb-4,
.py-4 {
    padding-bottom: 1.5rem !important;
}

.pl-4,
.px-4 {
    padding-left: 1.5rem !important;
}

.p-5 {
    padding: 3rem !important;
}

.pt-5,
.py-5 {
    padding-top: 3rem !important;
}

.pr-5,
.px-5 {
    padding-right: 3rem !important;
}

.pb-5,
.py-5 {
    padding-bottom: 3rem !important;
}

.pl-5,
.px-5 {
    padding-left: 3rem !important;
}

.m-auto {
    margin: auto !important;
}

.mt-auto,
.my-auto {
    margin-top: auto !important;
}

.mr-auto,
.mx-auto {
    margin-right: auto !important;
}

.mb-auto,
.my-auto {
    margin-bottom: auto !important;
}

.ml-auto,
.mx-auto {
    margin-left: auto !important;
}

@media all and (max-width: 460px) {
    .m-xs-0 {
        margin: 0 !important;
    }
    .mt-xs-0,
    .my-xs-0 {
        margin-top: 0 !important;
    }
    .mr-xs-0,
    .mx-xs-0 {
        margin-right: 0 !important;
    }
    .mb-xs-0,
    .my-xs-0 {
        margin-bottom: 0 !important;
    }
    .ml-xs-0,
    .mx-xs-0 {
        margin-left: 0 !important;
    }
    .m-xs-1 {
        margin: 0.25rem !important;
    }
    .mt-xs-1,
    .my-xs-1 {
        margin-top: 0.25rem !important;
    }
    .mr-xs-1,
    .mx-xs-1 {
        margin-right: 0.25rem !important;
    }
    .mb-xs-1,
    .my-xs-1 {
        margin-bottom: 0.25rem !important;
    }
    .ml-xs-1,
    .mx-xs-1 {
        margin-left: 0.25rem !important;
    }
    .m-xs-2 {
        margin: 0.5rem !important;
    }
    .mt-xs-2,
    .my-xs-2 {
        margin-top: 0.5rem !important;
    }
    .mr-xs-2,
    .mx-xs-2 {
        margin-right: 0.5rem !important;
    }
    .mb-xs-2,
    .my-xs-2 {
        margin-bottom: 0.5rem !important;
    }
    .ml-xs-2,
    .mx-xs-2 {
        margin-left: 0.5rem !important;
    }
    .m-xs-3 {
        margin: 1rem !important;
    }
    .mt-xs-3,
    .my-xs-3 {
        margin-top: 1rem !important;
    }
    .mr-xs-3,
    .mx-xs-3 {
        margin-right: 1rem !important;
    }
    .mb-xs-3,
    .my-xs-3 {
        margin-bottom: 1rem !important;
    }
    .ml-xs-3,
    .mx-xs-3 {
        margin-left: 1rem !important;
    }
    .m-xs-4 {
        margin: 1.5rem !important;
    }
    .mt-xs-4,
    .my-xs-4 {
        margin-top: 1.5rem !important;
    }
    .mr-xs-4,
    .mx-xs-4 {
        margin-right: 1.5rem !important;
    }
    .mb-xs-4,
    .my-xs-4 {
        margin-bottom: 1.5rem !important;
    }
    .ml-xs-4,
    .mx-xs-4 {
        margin-left: 1.5rem !important;
    }
    .m-xs-5 {
        margin: 3rem !important;
    }
    .mt-xs-5,
    .my-xs-5 {
        margin-top: 3rem !important;
    }
    .mr-xs-5,
    .mx-xs-5 {
        margin-right: 3rem !important;
    }
    .mb-xs-5,
    .my-xs-5 {
        margin-bottom: 3rem !important;
    }
    .ml-xs-5,
    .mx-xs-5 {
        margin-left: 3rem !important;
    }
    .p-xs-0 {
        padding: 0 !important;
    }
    .pt-xs-0,
    .py-xs-0 {
        padding-top: 0 !important;
    }
    .pr-xs-0,
    .px-xs-0 {
        padding-right: 0 !important;
    }
    .pb-xs-0,
    .py-xs-0 {
        padding-bottom: 0 !important;
    }
    .pl-xs-0,
    .px-xs-0 {
        padding-left: 0 !important;
    }
    .p-xs-1 {
        padding: 0.25rem !important;
    }
    .pt-xs-1,
    .py-xs-1 {
        padding-top: 0.25rem !important;
    }
    .pr-xs-1,
    .px-xs-1 {
        padding-right: 0.25rem !important;
    }
    .pb-xs-1,
    .py-xs-1 {
        padding-bottom: 0.25rem !important;
    }
    .pl-xs-1,
    .px-xs-1 {
        padding-left: 0.25rem !important;
    }
    .p-xs-2 {
        padding: 0.5rem !important;
    }
    .pt-xs-2,
    .py-xs-2 {
        padding-top: 0.5rem !important;
    }
    .pr-xs-2,
    .px-xs-2 {
        padding-right: 0.5rem !important;
    }
    .pb-xs-2,
    .py-xs-2 {
        padding-bottom: 0.5rem !important;
    }
    .pl-xs-2,
    .px-xs-2 {
        padding-left: 0.5rem !important;
    }
    .p-xs-3 {
        padding: 1rem !important;
    }
    .pt-xs-3,
    .py-xs-3 {
        padding-top: 1rem !important;
    }
    .pr-xs-3,
    .px-xs-3 {
        padding-right: 1rem !important;
    }
    .pb-xs-3,
    .py-xs-3 {
        padding-bottom: 1rem !important;
    }
    .pl-xs-3,
    .px-xs-3 {
        padding-left: 1rem !important;
    }
    .p-xs-4 {
        padding: 1.5rem !important;
    }
    .pt-xs-4,
    .py-xs-4 {
        padding-top: 1.5rem !important;
    }
    .pr-xs-4,
    .px-xs-4 {
        padding-right: 1.5rem !important;
    }
    .pb-xs-4,
    .py-xs-4 {
        padding-bottom: 1.5rem !important;
    }
    .pl-xs-4,
    .px-xs-4 {
        padding-left: 1.5rem !important;
    }
    .p-xs-5 {
        padding: 3rem !important;
    }
    .pt-xs-5,
    .py-xs-5 {
        padding-top: 3rem !important;
    }
    .pr-xs-5,
    .px-xs-5 {
        padding-right: 3rem !important;
    }
    .pb-xs-5,
    .py-xs-5 {
        padding-bottom: 3rem !important;
    }
    .pl-xs-5,
    .px-xs-5 {
        padding-left: 3rem !important;
    }
    .m-xs-auto {
        margin: auto !important;
    }
    .mt-xs-auto,
    .my-xs-auto {
        margin-top: auto !important;
    }
    .mr-xs-auto,
    .mx-xs-auto {
        margin-right: auto !important;
    }
    .mb-xs-auto,
    .my-xs-auto {
        margin-bottom: auto !important;
    }
    .ml-xs-auto,
    .mx-xs-auto {
        margin-left: auto !important;
    }
}

@media (min-width: 576px) {
    .m-sm-0 {
        margin: 0 !important;
    }
    .mt-sm-0,
    .my-sm-0 {
        margin-top: 0 !important;
    }
    .mr-sm-0,
    .mx-sm-0 {
        margin-right: 0 !important;
    }
    .mb-sm-0,
    .my-sm-0 {
        margin-bottom: 0 !important;
    }
    .ml-sm-0,
    .mx-sm-0 {
        margin-left: 0 !important;
    }
    .m-sm-1 {
        margin: 0.25rem !important;
    }
    .mt-sm-1,
    .my-sm-1 {
        margin-top: 0.25rem !important;
    }
    .mr-sm-1,
    .mx-sm-1 {
        margin-right: 0.25rem !important;
    }
    .mb-sm-1,
    .my-sm-1 {
        margin-bottom: 0.25rem !important;
    }
    .ml-sm-1,
    .mx-sm-1 {
        margin-left: 0.25rem !important;
    }
    .m-sm-2 {
        margin: 0.5rem !important;
    }
    .mt-sm-2,
    .my-sm-2 {
        margin-top: 0.5rem !important;
    }
    .mr-sm-2,
    .mx-sm-2 {
        margin-right: 0.5rem !important;
    }
    .mb-sm-2,
    .my-sm-2 {
        margin-bottom: 0.5rem !important;
    }
    .ml-sm-2,
    .mx-sm-2 {
        margin-left: 0.5rem !important;
    }
    .m-sm-3 {
        margin: 1rem !important;
    }
    .mt-sm-3,
    .my-sm-3 {
        margin-top: 1rem !important;
    }
    .mr-sm-3,
    .mx-sm-3 {
        margin-right: 1rem !important;
    }
    .mb-sm-3,
    .my-sm-3 {
        margin-bottom: 1rem !important;
    }
    .ml-sm-3,
    .mx-sm-3 {
        margin-left: 1rem !important;
    }
    .m-sm-4 {
        margin: 1.5rem !important;
    }
    .mt-sm-4,
    .my-sm-4 {
        margin-top: 1.5rem !important;
    }
    .mr-sm-4,
    .mx-sm-4 {
        margin-right: 1.5rem !important;
    }
    .mb-sm-4,
    .my-sm-4 {
        margin-bottom: 1.5rem !important;
    }
    .ml-sm-4,
    .mx-sm-4 {
        margin-left: 1.5rem !important;
    }
    .m-sm-5 {
        margin: 3rem !important;
    }
    .mt-sm-5,
    .my-sm-5 {
        margin-top: 3rem !important;
    }
    .mr-sm-5,
    .mx-sm-5 {
        margin-right: 3rem !important;
    }
    .mb-sm-5,
    .my-sm-5 {
        margin-bottom: 3rem !important;
    }
    .ml-sm-5,
    .mx-sm-5 {
        margin-left: 3rem !important;
    }
    .p-sm-0 {
        padding: 0 !important;
    }
    .pt-sm-0,
    .py-sm-0 {
        padding-top: 0 !important;
    }
    .pr-sm-0,
    .px-sm-0 {
        padding-right: 0 !important;
    }
    .pb-sm-0,
    .py-sm-0 {
        padding-bottom: 0 !important;
    }
    .pl-sm-0,
    .px-sm-0 {
        padding-left: 0 !important;
    }
    .p-sm-1 {
        padding: 0.25rem !important;
    }
    .pt-sm-1,
    .py-sm-1 {
        padding-top: 0.25rem !important;
    }
    .pr-sm-1,
    .px-sm-1 {
        padding-right: 0.25rem !important;
    }
    .pb-sm-1,
    .py-sm-1 {
        padding-bottom: 0.25rem !important;
    }
    .pl-sm-1,
    .px-sm-1 {
        padding-left: 0.25rem !important;
    }
    .p-sm-2 {
        padding: 0.5rem !important;
    }
    .pt-sm-2,
    .py-sm-2 {
        padding-top: 0.5rem !important;
    }
    .pr-sm-2,
    .px-sm-2 {
        padding-right: 0.5rem !important;
    }
    .pb-sm-2,
    .py-sm-2 {
        padding-bottom: 0.5rem !important;
    }
    .pl-sm-2,
    .px-sm-2 {
        padding-left: 0.5rem !important;
    }
    .p-sm-3 {
        padding: 1rem !important;
    }
    .pt-sm-3,
    .py-sm-3 {
        padding-top: 1rem !important;
    }
    .pr-sm-3,
    .px-sm-3 {
        padding-right: 1rem !important;
    }
    .pb-sm-3,
    .py-sm-3 {
        padding-bottom: 1rem !important;
    }
    .pl-sm-3,
    .px-sm-3 {
        padding-left: 1rem !important;
    }
    .p-sm-4 {
        padding: 1.5rem !important;
    }
    .pt-sm-4,
    .py-sm-4 {
        padding-top: 1.5rem !important;
    }
    .pr-sm-4,
    .px-sm-4 {
        padding-right: 1.5rem !important;
    }
    .pb-sm-4,
    .py-sm-4 {
        padding-bottom: 1.5rem !important;
    }
    .pl-sm-4,
    .px-sm-4 {
        padding-left: 1.5rem !important;
    }
    .p-sm-5 {
        padding: 3rem !important;
    }
    .pt-sm-5,
    .py-sm-5 {
        padding-top: 3rem !important;
    }
    .pr-sm-5,
    .px-sm-5 {
        padding-right: 3rem !important;
    }
    .pb-sm-5,
    .py-sm-5 {
        padding-bottom: 3rem !important;
    }
    .pl-sm-5,
    .px-sm-5 {
        padding-left: 3rem !important;
    }
    .m-sm-auto {
        margin: auto !important;
    }
    .mt-sm-auto,
    .my-sm-auto {
        margin-top: auto !important;
    }
    .mr-sm-auto,
    .mx-sm-auto {
        margin-right: auto !important;
    }
    .mb-sm-auto,
    .my-sm-auto {
        margin-bottom: auto !important;
    }
    .ml-sm-auto,
    .mx-sm-auto {
        margin-left: auto !important;
    }
}

@media (min-width: 768px) {
    .m-md-0 {
        margin: 0 !important;
    }
    .mt-md-0,
    .my-md-0 {
        margin-top: 0 !important;
    }
    .mr-md-0,
    .mx-md-0 {
        margin-right: 0 !important;
    }
    .mb-md-0,
    .my-md-0 {
        margin-bottom: 0 !important;
    }
    .ml-md-0,
    .mx-md-0 {
        margin-left: 0 !important;
    }
    .m-md-1 {
        margin: 0.25rem !important;
    }
    .mt-md-1,
    .my-md-1 {
        margin-top: 0.25rem !important;
    }
    .mr-md-1,
    .mx-md-1 {
        margin-right: 0.25rem !important;
    }
    .mb-md-1,
    .my-md-1 {
        margin-bottom: 0.25rem !important;
    }
    .ml-md-1,
    .mx-md-1 {
        margin-left: 0.25rem !important;
    }
    .m-md-2 {
        margin: 0.5rem !important;
    }
    .mt-md-2,
    .my-md-2 {
        margin-top: 0.5rem !important;
    }
    .mr-md-2,
    .mx-md-2 {
        margin-right: 0.5rem !important;
    }
    .mb-md-2,
    .my-md-2 {
        margin-bottom: 0.5rem !important;
    }
    .ml-md-2,
    .mx-md-2 {
        margin-left: 0.5rem !important;
    }
    .m-md-3 {
        margin: 1rem !important;
    }
    .mt-md-3,
    .my-md-3 {
        margin-top: 1rem !important;
    }
    .mr-md-3,
    .mx-md-3 {
        margin-right: 1rem !important;
    }
    .mb-md-3,
    .my-md-3 {
        margin-bottom: 1rem !important;
    }
    .ml-md-3,
    .mx-md-3 {
        margin-left: 1rem !important;
    }
    .m-md-4 {
        margin: 1.5rem !important;
    }
    .mt-md-4,
    .my-md-4 {
        margin-top: 1.5rem !important;
    }
    .mr-md-4,
    .mx-md-4 {
        margin-right: 1.5rem !important;
    }
    .mb-md-4,
    .my-md-4 {
        margin-bottom: 1.5rem !important;
    }
    .ml-md-4,
    .mx-md-4 {
        margin-left: 1.5rem !important;
    }
    .m-md-5 {
        margin: 3rem !important;
    }
    .mt-md-5,
    .my-md-5 {
        margin-top: 3rem !important;
    }
    .mr-md-5,
    .mx-md-5 {
        margin-right: 3rem !important;
    }
    .mb-md-5,
    .my-md-5 {
        margin-bottom: 3rem !important;
    }
    .ml-md-5,
    .mx-md-5 {
        margin-left: 3rem !important;
    }
    .p-md-0 {
        padding: 0 !important;
    }
    .pt-md-0,
    .py-md-0 {
        padding-top: 0 !important;
    }
    .pr-md-0,
    .px-md-0 {
        padding-right: 0 !important;
    }
    .pb-md-0,
    .py-md-0 {
        padding-bottom: 0 !important;
    }
    .pl-md-0,
    .px-md-0 {
        padding-left: 0 !important;
    }
    .p-md-1 {
        padding: 0.25rem !important;
    }
    .pt-md-1,
    .py-md-1 {
        padding-top: 0.25rem !important;
    }
    .pr-md-1,
    .px-md-1 {
        padding-right: 0.25rem !important;
    }
    .pb-md-1,
    .py-md-1 {
        padding-bottom: 0.25rem !important;
    }
    .pl-md-1,
    .px-md-1 {
        padding-left: 0.25rem !important;
    }
    .p-md-2 {
        padding: 0.5rem !important;
    }
    .pt-md-2,
    .py-md-2 {
        padding-top: 0.5rem !important;
    }
    .pr-md-2,
    .px-md-2 {
        padding-right: 0.5rem !important;
    }
    .pb-md-2,
    .py-md-2 {
        padding-bottom: 0.5rem !important;
    }
    .pl-md-2,
    .px-md-2 {
        padding-left: 0.5rem !important;
    }
    .p-md-3 {
        padding: 1rem !important;
    }
    .pt-md-3,
    .py-md-3 {
        padding-top: 1rem !important;
    }
    .pr-md-3,
    .px-md-3 {
        padding-right: 1rem !important;
    }
    .pb-md-3,
    .py-md-3 {
        padding-bottom: 1rem !important;
    }
    .pl-md-3,
    .px-md-3 {
        padding-left: 1rem !important;
    }
    .p-md-4 {
        padding: 1.5rem !important;
    }
    .pt-md-4,
    .py-md-4 {
        padding-top: 1.5rem !important;
    }
    .pr-md-4,
    .px-md-4 {
        padding-right: 1.5rem !important;
    }
    .pb-md-4,
    .py-md-4 {
        padding-bottom: 1.5rem !important;
    }
    .pl-md-4,
    .px-md-4 {
        padding-left: 1.5rem !important;
    }
    .p-md-5 {
        padding: 3rem !important;
    }
    .pt-md-5,
    .py-md-5 {
        padding-top: 3rem !important;
    }
    .pr-md-5,
    .px-md-5 {
        padding-right: 3rem !important;
    }
    .pb-md-5,
    .py-md-5 {
        padding-bottom: 3rem !important;
    }
    .pl-md-5,
    .px-md-5 {
        padding-left: 3rem !important;
    }
    .m-md-auto {
        margin: auto !important;
    }
    .mt-md-auto,
    .my-md-auto {
        margin-top: auto !important;
    }
    .mr-md-auto,
    .mx-md-auto {
        margin-right: auto !important;
    }
    .mb-md-auto,
    .my-md-auto {
        margin-bottom: auto !important;
    }
    .ml-md-auto,
    .mx-md-auto {
        margin-left: auto !important;
    }
}

@media (min-width: 992px) {
    .m-lg-0 {
        margin: 0 !important;
    }
    .mt-lg-0,
    .my-lg-0 {
        margin-top: 0 !important;
    }
    .mr-lg-0,
    .mx-lg-0 {
        margin-right: 0 !important;
    }
    .mb-lg-0,
    .my-lg-0 {
        margin-bottom: 0 !important;
    }
    .ml-lg-0,
    .mx-lg-0 {
        margin-left: 0 !important;
    }
    .m-lg-1 {
        margin: 0.25rem !important;
    }
    .mt-lg-1,
    .my-lg-1 {
        margin-top: 0.25rem !important;
    }
    .mr-lg-1,
    .mx-lg-1 {
        margin-right: 0.25rem !important;
    }
    .mb-lg-1,
    .my-lg-1 {
        margin-bottom: 0.25rem !important;
    }
    .ml-lg-1,
    .mx-lg-1 {
        margin-left: 0.25rem !important;
    }
    .m-lg-2 {
        margin: 0.5rem !important;
    }
    .mt-lg-2,
    .my-lg-2 {
        margin-top: 0.5rem !important;
    }
    .mr-lg-2,
    .mx-lg-2 {
        margin-right: 0.5rem !important;
    }
    .mb-lg-2,
    .my-lg-2 {
        margin-bottom: 0.5rem !important;
    }
    .ml-lg-2,
    .mx-lg-2 {
        margin-left: 0.5rem !important;
    }
    .m-lg-3 {
        margin: 1rem !important;
    }
    .mt-lg-3,
    .my-lg-3 {
        margin-top: 1rem !important;
    }
    .mr-lg-3,
    .mx-lg-3 {
        margin-right: 1rem !important;
    }
    .mb-lg-3,
    .my-lg-3 {
        margin-bottom: 1rem !important;
    }
    .ml-lg-3,
    .mx-lg-3 {
        margin-left: 1rem !important;
    }
    .m-lg-4 {
        margin: 1.5rem !important;
    }
    .mt-lg-4,
    .my-lg-4 {
        margin-top: 1.5rem !important;
    }
    .mr-lg-4,
    .mx-lg-4 {
        margin-right: 1.5rem !important;
    }
    .mb-lg-4,
    .my-lg-4 {
        margin-bottom: 1.5rem !important;
    }
    .ml-lg-4,
    .mx-lg-4 {
        margin-left: 1.5rem !important;
    }
    .m-lg-5 {
        margin: 3rem !important;
    }
    .mt-lg-5,
    .my-lg-5 {
        margin-top: 3rem !important;
    }
    .mr-lg-5,
    .mx-lg-5 {
        margin-right: 3rem !important;
    }
    .mb-lg-5,
    .my-lg-5 {
        margin-bottom: 3rem !important;
    }
    .ml-lg-5,
    .mx-lg-5 {
        margin-left: 3rem !important;
    }
    .p-lg-0 {
        padding: 0 !important;
    }
    .pt-lg-0,
    .py-lg-0 {
        padding-top: 0 !important;
    }
    .pr-lg-0,
    .px-lg-0 {
        padding-right: 0 !important;
    }
    .pb-lg-0,
    .py-lg-0 {
        padding-bottom: 0 !important;
    }
    .pl-lg-0,
    .px-lg-0 {
        padding-left: 0 !important;
    }
    .p-lg-1 {
        padding: 0.25rem !important;
    }
    .pt-lg-1,
    .py-lg-1 {
        padding-top: 0.25rem !important;
    }
    .pr-lg-1,
    .px-lg-1 {
        padding-right: 0.25rem !important;
    }
    .pb-lg-1,
    .py-lg-1 {
        padding-bottom: 0.25rem !important;
    }
    .pl-lg-1,
    .px-lg-1 {
        padding-left: 0.25rem !important;
    }
    .p-lg-2 {
        padding: 0.5rem !important;
    }
    .pt-lg-2,
    .py-lg-2 {
        padding-top: 0.5rem !important;
    }
    .pr-lg-2,
    .px-lg-2 {
        padding-right: 0.5rem !important;
    }
    .pb-lg-2,
    .py-lg-2 {
        padding-bottom: 0.5rem !important;
    }
    .pl-lg-2,
    .px-lg-2 {
        padding-left: 0.5rem !important;
    }
    .p-lg-3 {
        padding: 1rem !important;
    }
    .pt-lg-3,
    .py-lg-3 {
        padding-top: 1rem !important;
    }
    .pr-lg-3,
    .px-lg-3 {
        padding-right: 1rem !important;
    }
    .pb-lg-3,
    .py-lg-3 {
        padding-bottom: 1rem !important;
    }
    .pl-lg-3,
    .px-lg-3 {
        padding-left: 1rem !important;
    }
    .p-lg-4 {
        padding: 1.5rem !important;
    }
    .pt-lg-4,
    .py-lg-4 {
        padding-top: 1.5rem !important;
    }
    .pr-lg-4,
    .px-lg-4 {
        padding-right: 1.5rem !important;
    }
    .pb-lg-4,
    .py-lg-4 {
        padding-bottom: 1.5rem !important;
    }
    .pl-lg-4,
    .px-lg-4 {
        padding-left: 1.5rem !important;
    }
    .p-lg-5 {
        padding: 3rem !important;
    }
    .pt-lg-5,
    .py-lg-5 {
        padding-top: 3rem !important;
    }
    .pr-lg-5,
    .px-lg-5 {
        padding-right: 3rem !important;
    }
    .pb-lg-5,
    .py-lg-5 {
        padding-bottom: 3rem !important;
    }
    .pl-lg-5,
    .px-lg-5 {
        padding-left: 3rem !important;
    }
    .m-lg-auto {
        margin: auto !important;
    }
    .mt-lg-auto,
    .my-lg-auto {
        margin-top: auto !important;
    }
    .mr-lg-auto,
    .mx-lg-auto {
        margin-right: auto !important;
    }
    .mb-lg-auto,
    .my-lg-auto {
        margin-bottom: auto !important;
    }
    .ml-lg-auto,
    .mx-lg-auto {
        margin-left: auto !important;
    }
}

@media (min-width: 1200px) {
    .m-xl-0 {
        margin: 0 !important;
    }
    .mt-xl-0,
    .my-xl-0 {
        margin-top: 0 !important;
    }
    .mr-xl-0,
    .mx-xl-0 {
        margin-right: 0 !important;
    }
    .mb-xl-0,
    .my-xl-0 {
        margin-bottom: 0 !important;
    }
    .ml-xl-0,
    .mx-xl-0 {
        margin-left: 0 !important;
    }
    .m-xl-1 {
        margin: 0.25rem !important;
    }
    .mt-xl-1,
    .my-xl-1 {
        margin-top: 0.25rem !important;
    }
    .mr-xl-1,
    .mx-xl-1 {
        margin-right: 0.25rem !important;
    }
    .mb-xl-1,
    .my-xl-1 {
        margin-bottom: 0.25rem !important;
    }
    .ml-xl-1,
    .mx-xl-1 {
        margin-left: 0.25rem !important;
    }
    .m-xl-2 {
        margin: 0.5rem !important;
    }
    .mt-xl-2,
    .my-xl-2 {
        margin-top: 0.5rem !important;
    }
    .mr-xl-2,
    .mx-xl-2 {
        margin-right: 0.5rem !important;
    }
    .mb-xl-2,
    .my-xl-2 {
        margin-bottom: 0.5rem !important;
    }
    .ml-xl-2,
    .mx-xl-2 {
        margin-left: 0.5rem !important;
    }
    .m-xl-3 {
        margin: 1rem !important;
    }
    .mt-xl-3,
    .my-xl-3 {
        margin-top: 1rem !important;
    }
    .mr-xl-3,
    .mx-xl-3 {
        margin-right: 1rem !important;
    }
    .mb-xl-3,
    .my-xl-3 {
        margin-bottom: 1rem !important;
    }
    .ml-xl-3,
    .mx-xl-3 {
        margin-left: 1rem !important;
    }
    .m-xl-4 {
        margin: 1.5rem !important;
    }
    .mt-xl-4,
    .my-xl-4 {
        margin-top: 1.5rem !important;
    }
    .mr-xl-4,
    .mx-xl-4 {
        margin-right: 1.5rem !important;
    }
    .mb-xl-4,
    .my-xl-4 {
        margin-bottom: 1.5rem !important;
    }
    .ml-xl-4,
    .mx-xl-4 {
        margin-left: 1.5rem !important;
    }
    .m-xl-5 {
        margin: 3rem !important;
    }
    .mt-xl-5,
    .my-xl-5 {
        margin-top: 3rem !important;
    }
    .mr-xl-5,
    .mx-xl-5 {
        margin-right: 3rem !important;
    }
    .mb-xl-5,
    .my-xl-5 {
        margin-bottom: 3rem !important;
    }
    .ml-xl-5,
    .mx-xl-5 {
        margin-left: 3rem !important;
    }
    .p-xl-0 {
        padding: 0 !important;
    }
    .pt-xl-0,
    .py-xl-0 {
        padding-top: 0 !important;
    }
    .pr-xl-0,
    .px-xl-0 {
        padding-right: 0 !important;
    }
    .pb-xl-0,
    .py-xl-0 {
        padding-bottom: 0 !important;
    }
    .pl-xl-0,
    .px-xl-0 {
        padding-left: 0 !important;
    }
    .p-xl-1 {
        padding: 0.25rem !important;
    }
    .pt-xl-1,
    .py-xl-1 {
        padding-top: 0.25rem !important;
    }
    .pr-xl-1,
    .px-xl-1 {
        padding-right: 0.25rem !important;
    }
    .pb-xl-1,
    .py-xl-1 {
        padding-bottom: 0.25rem !important;
    }
    .pl-xl-1,
    .px-xl-1 {
        padding-left: 0.25rem !important;
    }
    .p-xl-2 {
        padding: 0.5rem !important;
    }
    .pt-xl-2,
    .py-xl-2 {
        padding-top: 0.5rem !important;
    }
    .pr-xl-2,
    .px-xl-2 {
        padding-right: 0.5rem !important;
    }
    .pb-xl-2,
    .py-xl-2 {
        padding-bottom: 0.5rem !important;
    }
    .pl-xl-2,
    .px-xl-2 {
        padding-left: 0.5rem !important;
    }
    .p-xl-3 {
        padding: 1rem !important;
    }
    .pt-xl-3,
    .py-xl-3 {
        padding-top: 1rem !important;
    }
    .pr-xl-3,
    .px-xl-3 {
        padding-right: 1rem !important;
    }
    .pb-xl-3,
    .py-xl-3 {
        padding-bottom: 1rem !important;
    }
    .pl-xl-3,
    .px-xl-3 {
        padding-left: 1rem !important;
    }
    .p-xl-4 {
        padding: 1.5rem !important;
    }
    .pt-xl-4,
    .py-xl-4 {
        padding-top: 1.5rem !important;
    }
    .pr-xl-4,
    .px-xl-4 {
        padding-right: 1.5rem !important;
    }
    .pb-xl-4,
    .py-xl-4 {
        padding-bottom: 1.5rem !important;
    }
    .pl-xl-4,
    .px-xl-4 {
        padding-left: 1.5rem !important;
    }
    .p-xl-5 {
        padding: 3rem !important;
    }
    .pt-xl-5,
    .py-xl-5 {
        padding-top: 3rem !important;
    }
    .pr-xl-5,
    .px-xl-5 {
        padding-right: 3rem !important;
    }
    .pb-xl-5,
    .py-xl-5 {
        padding-bottom: 3rem !important;
    }
    .pl-xl-5,
    .px-xl-5 {
        padding-left: 3rem !important;
    }
    .m-xl-auto {
        margin: auto !important;
    }
    .mt-xl-auto,
    .my-xl-auto {
        margin-top: auto !important;
    }
    .mr-xl-auto,
    .mx-xl-auto {
        margin-right: auto !important;
    }
    .mb-xl-auto,
    .my-xl-auto {
        margin-bottom: auto !important;
    }
    .ml-xl-auto,
    .mx-xl-auto {
        margin-left: auto !important;
    }
}

.align-baseline {
    vertical-align: baseline !important;
}

.align-top {
    vertical-align: top !important;
}

.align-middle {
    vertical-align: middle !important;
}

.align-bottom {
    vertical-align: bottom !important;
}

.align-text-bottom {
    vertical-align: text-bottom !important;
}

.align-text-top {
    vertical-align: text-top !important;
}
/* /bootstrap v4 paddings/margings */