body {
    font-family: "Gotham Pro", Arial, sans-serif;
    font-size: 18px;
    font-weight: 300;
    line-height: normal;
}

input, button, button:hover, button:focus, button:active, textarea, textarea:hover, textarea:focus, textarea:active {outline: none;}
a {color: #000;}
a:hover, a:focus, a:active {
    outline: none;
    text-decoration: none;
}
a.white{color: #fff;}
a.white:hover, a.white:focus, a.white:active {
    color: #fff
    outline: none;
    text-decoration: none;
}
p, label {margin-bottom: 0px;}
.site_box {
    padding-left: 6vw;
    padding-right: 6vw;
}

/* Текстовые стили */
h1 {
    font-weight: 300;
    text-align: left;
    font-size: 2.5em;
    text-shadow: 0 2px 3px rgba(0, 0, 0, 0.3);
}
h2 {
    text-align: center;
    font-weight: 400;
    text-transform: uppercase;
    font-size: 2em;
    margin-bottom: 1em;
    line-height: normal;
}

.fw_3 {font-weight: 300;} /* light */
.fw_4 {font-weight: 400;} /* normal */
.fw_5 {font-weight: 500;} /* Medium */
.fw_7 {font-weight: 700;} /* Bold */
.fw_9 {font-weight: 900;} /* Black */
.itlc {font-style: italic;}

.f_8 {font-size: 0.8em;}
.f_9 {font-size: 0.9em;}
.f_11 {font-size: 1.1em;}
.f_12 {font-size: 1.2em;}
.f_13 {font-size: 1.3em;}
.f_15 {font-size: 1.5em;}
.f_20 {font-size: 2em;}
.f_25 {font-size: 2.5em;}
.white {color:#fff;}
.deep_blue {color: #132f46;}
.tr_white {color:rgba(255,255,255,0.4);}
.gray {color: #898989;}

.tt_up {text-transform: uppercase;}
.td_lth {text-decoration: line-through;}
.lh_n {line-height: normal;}
.lh_15 {line-height: 1.5em;}
.bb_1 {border-bottom: 1px solid;}
.shdw {box-shadow: 0 2px 6px 0 rgba(0,0,0,0.2);}
.ls_01 {letter-spacing: .1em;}
.mb_25 {margin-bottom: 2.5em;}
.t_ind {text-indent: 2em;}

/* placeholder stylization */
.cb_form input:-moz-placeholder, textarea:-moz-placeholder {font-family: "Gotham Pro";font-weight: 500;font-style: italic;color: rgba(0,0,0,0.7);}
.cb_form input::-moz-placeholder, textarea::-moz-placeholder {font-family: "Gotham Pro";font-weight: 500;font-style: italic;color: rgba(0,0,0,0.7);}
.cb_form input::-webkit-input-placeholder, textarea::-webkit-input-placeholder {font-family: "Gotham Pro";font-weight: 500;font-style: italic;color: rgba(0,0,0,0.7);}
.cb_form input:-ms-input-placeholder, textarea:-ms-input-placeholder {font-family: "Gotham Pro";font-weight: 500;font-style: italic;color: rgba(0,0,0,0.7);}
.cb_form input::-ms-input-placeholder, textarea::-ms-input-placeholder {font-family: "Gotham Pro";font-weight: 500;font-style: italic;color: rgba(0,0,0,0.7);}
.cb_form input::placeholder, textarea::placeholder {font-family: "Gotham Pro";font-weight: 500;font-style: italic;color: rgba(0,0,0,0.7);}

.callback_main input {
    background-color: #fff;
    border: 1px solid #888888;
    padding: .5em .5em;
    width: 100%;
}
.cb_form input, .cb_form textarea {
    border: none;
    border-radius: 0;
    border-bottom: 1px solid #000;
    padding: .25em 0;
    background-color: transparent;
    width: 100%;
}

.main_btn_w {
    border-radius: 0;
    border: 1px solid #fff;
    color: #fff;
    background-color: transparent;
    display: block;
    width: fit-content;
    line-height: normal;
    padding: .4em 2em;
    text-align: center;
}
.main_btn_w:hover, .main_btn_w:focus, .main_btn_w:active {
    color: #fff;
}
.main_btn_b {
    border-radius: 0;
    border: 1px solid #000 !important;
    color: #000;
    background-color: transparent;
    display: block;
    width: fit-content !important;
    line-height: normal;
    padding: .4em 2em !important;
    text-align: center;
}
.main_btn_b:hover, .main_btn_b:focus, .main_btn_b:active {
    color: #000;
}

/* Шапка */
header {
    background: url(../images/bg/bg_1.jpg) no-repeat center;
    background-size: cover;
}
header.inside_page {
    background: url(../images/bg/bg_3.jpg) no-repeat center;
    background-size: cover;
}
.header_top {
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    align-items: center;
    background-color: rgba(19, 47, 70, 0.7);
    padding-top: .5em;
    padding-bottom: .5em;
}
.logo {
    width: 20%;
}
.logo img {
    width: 100%;
}
/* Меню */
nav {
    width: fit-content;
    padding: 0px !important;
}
.navbar-nav {
    width: 100%;
    justify-content: space-between;
}
.nav-link {
    color: #c1c1c1;
    text-transform: uppercase;
    padding: 0 !important;
    margin: 0 .5em;
}
.active .nav-link {
    font-weight: 400;
    color: #fff;
}
.nav-link:hover, .nav-link:focus, .nav-link:active {
    color: #c1c1c1;
    border-bottom: 1px solid;
}
.head_callback {
    text-align: right;
}
.sticky {
    position: fixed;
    top: 0;
    z-index: 1000;
    width: 100%;
}
.header_top.sticky {
    background: url(../images/bg/bg_3.jpg) no-repeat center;
    background-size: cover;
}
.navbar-toggler .navbar-toggler-icon {
    display: block;
    height: 3px;
    margin-top: 5px;
    margin-bottom: 5px;
    background-color: #fff;
}
#submenu .navbar-toggler .navbar-toggler-icon {
    display: block;
    height: 3px;
    margin-top: 5px;
    margin-bottom: 5px;
    background-color: #132f45;
}


/* баннер */
.main_banner {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
.main_banner .callback_main {
    background-color: rgba(255,255,255,.85);
    border-radius: 1em;
    padding: 2em;
    width: 34%;
    margin: 3em 0;
}
.slogan {
    width: 60%;
    background-color: rgba(255,255,255,.85);
    border-radius: 1em;
    padding: 4em 3em;
    margin: 3em 0;
}


/* Услуги */
#uslugi {
    background: url(../images/bg/bg_2.jpg) no-repeat center;
    background-size: cover;
    padding-right: 25%;
    padding-top: 1.5em;
    padding-bottom: 2.5em;
}


/* Почему нас выбирают */
#why {
    background: url(../images/bg/bg_3.jpg) no-repeat center;
    background-size: cover;
    padding-top: 2em;
    padding-bottom: 2em;
}
.why_box {
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    align-items: flex-start;
}
.why_box>div {
    width: 19%;
}


#about {
}
.vert_line {
    width: 1px;
    height: 3em;
    background-color: #000;
    margin: 1em auto 1.5em;
}
.team {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    align-items: flex-end;
}
.team>div {
    width: 32%;
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    align-items: flex-end;
}
.team_foto {
    width: 40%;
}
.team_info {
    width: 60%;
    font-size: .9em;
}


/* Отзывы */
#reviews_block {
    background: url(../images/bg/bg_4.jpg) no-repeat center;
    background-size: cover;
    padding-top: 3em;
    padding-bottom: 3em;
}
.carousel-control-prev, .carousel-control-next {
    width: fit-content;
}
.carousel-control-prev img, .carousel-control-next img {
    width: 1.4em;
}
.carousel-item {
    padding: 1em 10%;
}
#reviews_slider {
    width: 84%;
    margin: 0 auto;
}


/* специальные предложения */
#special_offers {
    background: url(../images/bg/bg_5.jpg) no-repeat center;
    background-size: cover;
    padding-top: 3em;
    padding-bottom: .5em;
}
#special_offers h2 {
    text-align: left;
    width: fit-content;
    margin-left: 15%;
}
.offer_1, .offer_2 {
    background-color: rgba(255,255,255,0.5);
    box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.2);
    padding: .6em 1em;
    margin-bottom: 3rem;
    font-size: 2.7em;
}
.offer_2 {text-align: right; margin-left: 5%;}


/* портфолио */
#portfolio {
    padding-bottom: 2em;
}
.portfolio_box {
    width: 86%;
    margin: 0 7%;
}
.nav-tabs {
    border: none;
    border: none;
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    align-items: center;
}
.nav-tabs .nav-item {
    border: none;
    margin-bottom: .5em;
}
.nav-tabs .nav-item .nav-link {
    border: none;
    color: #a2a2a2;
    font-weight: 500;
    font-size: 0.9em;
    padding: 0 .75em !important;
    margin: 0;
    border-left: 2px solid #a2a2a2;
}
.nav-tabs .nav-item:first-child .nav-link {border-left:none;}
.nav-tabs .nav-item .nav-link.active {
    color: #0f0f0f;
    font-weight: 700;
}
.img-usluga {
    width: 100%;
    height: 16vw;
    object-fit: cover;
}
.view_more {cursor: pointer;}
.hidden_block {display: none;}


/* Новости */
#news_block {
    background: url(../images/bg/bg_6.jpg) no-repeat center;
    background-size: cover;
    padding-top: 3em;
    padding-bottom: 3em;
}
.swiper_news_wrap {
    padding: 0 8vw;
    position: relative;
}
.swiper_news {
    overflow: hidden;
}
.swiper-button-prev, .swiper-button-next {
    background-image: none;
    top: 9vw;
    width: 1.5em;
}
.swiper-button-prev img, .swiper-button-next img {width: 100%;}
.swiper-button-prev {left: 3vw;}
.swiper-button-next {right: 3vw;}
.news {
    position: relative;
}
.news img.img-news {
    height: 13vw;
    width: 100%;
    object-fit: cover;
    margin-bottom: .5em;
}
.news .readmore {
    position: absolute;
    bottom: 0;
    right: 0;
    background-color: rgba(255, 255, 255, 0.8);
    font-style: italic;
    color: #1769a2;
    border-bottom: 1px solid;
    font-weight: 400;
}
.news .text {
    line-height: 1.1em;
    height: 5.3em;
    overflow: hidden;
}


/* ОТВЕТЫ */
#answers_block {
    background: url(../images/bg/bg_7.jpg) no-repeat center;
    background-size: cover;
    padding-top: 3em;
    padding-bottom: 3em;
    color: #fff;
}
.question {
    cursor: pointer;
    padding-left: 12vw;
    margin-right: 25vw;
    margin-bottom: 1em;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.5);
    position: relative;
}
.q_clicked {
    color: rgba(255, 255, 255, 0.8);
    text-decoration: underline;
}
.question::before {
    content: "";
    position: absolute;
    top: 1em;
    left: 0;
    width: 10.5vw;
    height: 1px;
    background-color: #fff;
}
.answer {
    display: none;
    margin-bottom: 2em;
    line-height: normal;
    text-indent: 2em;
    padding: 0 29vw 0 16vw;
    font-weight: 400;
    font-style: italic;
    color: rgba(255, 255, 255, 0.7);
}
.answer p:first-child::before {
    content: "-";
    margin-right: .3em;
}
.answer>p{margin-bottom: .5em;}
.answer_show {display: block;}


/* Обратная связь */
#callback_block {
    background: url(../images/bg/bg_8.jpg) no-repeat center;
    background-size: cover;
    display: flex;
    flex-flow: row wrap;
    align-items: stretch;
    justify-content: space-between;
}
.cb_text {
    background-color: rgba(255,255,255,0.6);
    padding: 3em 6vw;
    width: 40%;
    background-image: url(../images/logo_dark2.png);
    background-repeat: no-repeat;
    background-position: 90% 5%;
    background-size: 30%;
    background-blend-mode: soft-light;
}
.cb_form {
    width: 60%;
    padding: 3em 12vw 2em 7vw;
}

/* Подвал */
footer {
    background: url(../images/bg/bg_9.jpg) no-repeat center;
    background-size: cover;
    color: #fff;
}
.footer_top {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    align-items: center;
    padding-top: 1em;
}
hr.separator {
    background-color: #fff;
    height: 1px;
    width: 90%;
    margin: 1em auto;
    border: none;
}
.footer_menu, .footer_categories {
    list-style: none;
    padding-left: 0;
}
.footer_submenu {
    list-style: none;
    padding-left: 2em;
}


#map_mini {box-shadow: 0px 2px 8px 0px #888;}
#map_mini>ymaps {height: 200px !important;}

.footer_bottom {
    background-color: #000;
    padding: 0.5em 0;
}
.footer_bottom .site_box {
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    align-items: center;
}
.copyright p {margin-bottom: 0em;}

/* ASM */
.developers {text-align: right;}
.developers a>p {
    font-family: "coco", Arial, sans-serif;
    color: #fff;
    font-size: 19px;
    line-height: 1em;
    display: inline-block;
    vertical-align: middle;
    margin: 0 1em 0 0;
}
.developers img {max-width: 90px;}


/************************** ВНУТРЕННИЕ СТРАНИЦЫ *****************************/
#submenu {
    background-color: #e5edf4;
    box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.15);
}
#submenu nav {
    width: 100%;
    padding: .6em 0 !important;
}
#submenu .nav-link {
    text-transform: none;
    color: #2b2b2b;
    font-weight: 400;
    margin: 0 .25em;
}
#submenu .active .nav-link {
    color: #000;
    font-weight: 700;
}

.page_uslugi .callback_main {
    box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.15);
    border-radius: 1em;
    padding: 2em;
    margin-bottom: 1em;
}

.table_simple {font-size: .9em;}
.table_simple th {
    text-align: center;
    font-weight: 500;
    text-transform: uppercase;
}
.table_simple td {
    font-weight: 400;
}
.table_simple td, .table_simple th {
    border-top: 1px solid #132f46;
    border-bottom: 1px solid #132f46;
    padding: .4rem;
}
.table_simple tr td:nth-child(2) {
    border-left: 1px solid #132f46;
    text-align: center;
}
.table_simple thead th {border-bottom: unset;}

.article {
    background: url(../images/bg/bg_4.jpg) no-repeat center;
    background-size: cover;
    padding: 1.5em 25%;
    margin-top: 2em;
}
.hr_article {
    background-color: #a0a0a0;
    border: none;
    height: 1px;
    width: 15em;
    margin: 2em auto;
}


.page_nav {
    width: 100%;
    margin: 2em 0;
}
.pagination {
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    align-items: baseline;
}
.pagination .page-link {
    color: #000;
    border: none;
    font-size: 1.2em;
    padding: .5rem 1rem;
    line-height: 1em;
}
.pagination .page-item:first-child .page-link{margin-right: 2em;}
.pagination .page-item:last-child .page-link{margin-left: 2em;}
.page-item.active .page-link {
    z-index: 1;
    color: #000;
    background-color: transparent;
    border-color: unset;
    font-weight: 500;
    font-size: 1.5em;
}


/* Новости */
.news_block .news {margin-bottom: 2em;}
.news_block .news .img-news {
    height: 15vw;
    width: 100%;
    object-fit: cover;
}

/* Отдельная новость */
.news_full {margin-bottom: 3em;}
.news_full_img {
    width: 40%;
    float: right;
    margin-left: 1em;
    margin-bottom: .5em;
}

/* Отзывы */
.review {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-around;
    align-items: flex-start;
    margin-bottom: 2em;
    margin-top: 2em;
}
.review_icon {width: 8%;}
.review_text {width: 88%;}
.review_sign {
    width: 100%;
    text-align: right;
    font-weight: 400;
}
.review_hr {
    height: 1px;
    background-color: #a0a0a0;
    width: 30%;
    margin: 1em auto;
    border: none;
}

/* Контакты */
.contact_block {
    background: url(../images/bg/bg_10.jpg) no-repeat center;
    background-size: cover;
    padding-top: 4em;
    padding-bottom: 5em;
}
.contact_block_box {
    filter: drop-shadow(0 0 6px rgba(0,0,0,0.3));
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    align-items: stretch;
}
.contact {
    background-color: #fff;
    width: 55%;
    padding: 2em;
}
.map {width: 45%;}


.modal-close-btn{
    position: absolute;
    top: 5px;
    right: 10px;
}
.modal-title {
    margin-bottom: 0;
    line-height: 1.5;
    text-align: center;
    width: 100%;
}
.modal-btn{
    display: block;
    background-color: #698cc8;
    color: #fff;
    text-transform: uppercase;
    padding: 0.2em 1em;
    margin: 0 auto;
    border-radius: 5px;
    border: 3px solid;
    border-color: rgba(255, 255, 255, 0.5) transparent rgba(0, 0, 0, 0.3) transparent;
    box-shadow: unset;
    max-width: 330px;
    display: block;
    text-align: center;
    min-width: 250px;
    width: fit-content;
}

/* Шрифты */
@font-face {
    font-family: 'coco';
    src: url('../fonts/CocoBiker Regular-trial.ttf');
}
