/* Основная часть: */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    transition: .25s;
    font-size: 1.025rem;
}

:root {
    --blue: #2A3999;
}

.maindiv {
    min-height: 90vh;
    padding-top: 40px;
    padding-bottom: 40px;
    width: 80%;
}

body{
    background-color:rgb(246, 246, 255);
}

@media (max-width: 575.5px) {
    .maindiv {
        width: 90%;
    }
}

.h6{
    font-size: 1.325rem;
    text-align: center;
    color: #2D3DA5;
    opacity: .85;
}


/* --------------------------------------------------------------------------- */
/* Хедер: */


nav {
    width: 100%;
    height: auto;
    background: rgb(51, 73, 212);
    background: linear-gradient(180deg, #001ac1 0%, #2a3483 100%);
    box-shadow: 0px 4px 4px rgba(36, 26, 146, 0.25);
    padding: 15px 0;
    font-size: 1.025rem;
}

nav>.container{
    width: 80%;
}

nav a, nav .nav-link{
    color: white;
    text-decoration: none;
    text-shadow: 1px 1px #2B3584;
    transition: .25s;
    border-bottom: 2px solid rgba(255, 255, 255, 0);
}

nav img{
    width: 1.5rem;
}

nav .navbar-brand>img{
    width: 2rem;;
}

.hidden{
    display: none;
}

.navbar-nav{
    width: 100%;
    justify-content: space-between;
}

.navbar-brand{
    width: 7.5%;
}

nav hr{
    color: white;
}

nav img:hover{
    opacity: .75;
}

.notification{
    background-color: #c50747;
    color: white;
    padding: 1px 10px 2px 8px;
    border-radius: 7.5px;
    box-shadow: 1px 1px #652b84;
    text-shadow: 1px 1px #652b84;
    font-size: 12pt;
}

.notification2 {
    box-shadow: 1px 1px #2b3584;
    text-shadow: 1px 1px #2b3584;
    font-size: 10pt;
    margin-left: 2.5px;
}

@media (max-width: 991.5px) {
    nav>.container{
        width: 100%;
    }
    .hidden{
        display: block;
    }
    nav img{
        width: 1.25rem;
    }
    nav .navbar-brand>img{
        width: 2rem;;
    }
}

@media (max-width: 767.5px) {
    nav>.container{
        width: 100%;
    }
    nav{
        font-size: 0.9rem;
    }
    nav img{
        width: 1rem;
    }
    nav .navbar-brand>img{
        width: 2rem;;
    }
}


/* --------------------------------------------------------------------------- */
/* Футер: */


footer {
    margin-top: auto;
    height: auto;
    padding: 25px 0;
    width: 100%;
    background: rgb(50,70,199);
    background: linear-gradient(180deg, #2a3fc6 0%, #1a267e 100%);
    box-shadow: 0px -4px 4px rgba(36, 26, 146, 0.25);
    color: white;
    font-size: 1rem;
    text-shadow: 1px 1px #2B3584;
    transition: .25s;
}

.footer_div{
    width: 80%;
}

footer a{
    color: white;
    text-decoration: none;
}

footer a:hover{
    opacity: .75;
}

.footer_div{
    display: grid;
    grid-template-areas:
    "f1 f2 f3"
    ". f4 ."
    ". f5 .";
    grid-template-rows: auto;
    grid-template-columns: 1fr 1fr 1fr;
    align-items: center;
    justify-content: space-between;
    gap: 35px;
}

.footer_div>div{
    padding: 0; margin: 0;
    display: flex;
    flex-direction: column;
    gap: 20px;
    justify-content: center;
    align-items: center;
}

.footer_div .icons{
    gap: 20px;
    width: 100%;
    display: flex;
    justify-content: flex-end;
}

.footer_div .icons img{
    width: 28px;
}

.footer_div #f1{
    grid-area: f1;
    align-items: start;
}

.footer_div #f2{
    grid-area: f2;
    text-align: center;
}

.footer_div #f3{
    grid-area: f3;
    align-items: end;
}

.footer_div #f4{
    grid-area: f4;
    text-align: center;
}

.footer_div #f5{
    grid-area: f5;
    text-align: center;
}

footer #copy{
    display: flex;
    justify-content: center;
}

footer #copy>p{
    margin-top: 10px;
    opacity: .75;
}

footer .socials{
    display: flex;
    gap: 25px;
}

@media (max-width: 991.5px) {
    footer{
        padding-bottom: 12.5px;
    }
    .footer_div{
        display: grid;
        width: 100%;
        grid-template-areas:
        ". f1 ." ". f2 ." ". f3 ." ". f4 ." ". f5 .";
        grid-template-columns: 1fr 5fr 1fr;
        text-align: center;
        gap: 0;
    }
    .footer_div #f1{
        width: 100%;
        gap: 0;
        margin: auto;
        align-items: center;
    }
    .footer_div #f2{
        width: 100%;
        gap: 0;
        margin: auto;
        text-align: center;
    }
    .footer_div #f3{
        width: 100%;
        gap: 0;
        margin: auto;
        align-items: center;
    }
    footer #copy>p{
        margin-top: 0;
    }
}

@media (max-width: 767.5px) {
    footer{
        font-size: .9rem;
    }
    footer .socials{
        gap: 15px;
    }
}


/* --------------------------------------------------------------------------- */
/* Главная страница - раздел "связаться с нами": */


.contact{
    width: 100%;
    display: grid;
    grid-template-areas: "tel email" "con con";
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
    gap: 25px;
}

.contact div{
    padding: 20px 0;
    height: 100%;
    width: 100%;
    background-color: rgba(45, 61, 165, 0.08);
    border-radius: 5px;
    box-shadow: 0 0 8px 3px rgba(26, 20, 98, 0.15);
}

.contact>#tel{
    grid-area: tel;
}

.contact>#email{
    grid-area: email;
}

.contact>#con{
    grid-area: con;
}

.contact p, .p{
    margin: 0;
    color: var(--blue);
    text-align: center;
    opacity: .85;
}

.contact h6, .service h6{
    font-size: 1.325rem;
    text-align: center;
    color: var(--blue);
    opacity: .85;
}

.contact h4, .c_h4{
    padding: 25px;
    font-size: 2.25rem;
    text-align: center;
    color: #0296F2;
    text-shadow: 1px 1px #2b35841c;
}

.address h6{
    font-weight: 400;
    font-size: 1.325rem;
    text-align: center;
    color: var(--blue);
    opacity: .85;
}

hr{
    border: 1px solid rgba(124, 135, 171);
}

.message_form{
    margin: auto;
    width: 80%;
}

.message_form input, .message_form textarea{
    background-color:rgb(250, 250, 255);
    border: 2px solid #2a399944;
}

@media (max-width: 991.5px) {
    .contact{
        grid-template-areas: "tel" "email" "con";
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        gap: 25px;
    }

    .contact h6, .service h6, .address h6, .h6{
        font-size: 1.25rem;
    }

    .contact h4, .c_h4{
        padding: 20px;
        font-size: 2rem;
    }

    .contact p{
        font-size: 0.95rem;
    }

    .message_form{
        width: 100%;
    }
}

@media (max-width: 575.5px) {

    .contact h6, .service h6, .address h6, .h6{
        font-size: 1.05rem;
    }

    .contact h4, .c_h4{
        padding: 20px;
        font-size: 1.8rem;
    }
}



/* --------------------------------------------------------------------------- */
/* Главная страница - баннер: */


.banner img {
    width: 100%;
    border-radius: 7.5px;
}

.banner .banner_border{
    background: rgb(51, 73, 212);
    background: linear-gradient(180deg, rgba(51, 73, 212, 0.75) 0%, rgba(42, 52, 131, 0.75) 100%);
    padding: 2px;
    border-radius: 8.5px;
}

.banner p, .p{
    margin: 0;
    color: var(--blue);
    opacity: .85;
    text-align: justify;
}

@media (max-width: 991.5px) {
    .banner p, .p, .banner b{
        font-size: 0.9rem;
    }
}


/* --------------------------------------------------------------------------- */
/* Главная страница - раздел "наши услуги": */


.specialities>div{
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 80%;
    background-color: rgba(45, 61, 165, 0.08);
    border-radius: 5px;
    box-shadow: 0 0 8px 3px rgba(26, 20, 98, 0.15);
    padding: 25px;
}

.specialities{
    display: flex;
    flex-direction: column;
    gap: 25px;
    align-items: center;
}

.specialities p{
    margin: 0;
}

.link_blue{
    color: #0296F2;
    font-size: 1rem;
    text-decoration: none;
    border-bottom: 2px solid rgba(255, 255, 255, 0);
}

.link_blue:hover{
    color:#034ad6;
    border-bottom: 2px solid #034ad6;
}

.link_blue2{
    margin-left: auto;
    font-size: 1.1rem;
}

.link_blue3{
    margin-left: auto;
    font-size: 1.1rem;
    color: #0e72ed;
    background: none;
    border-top: none; border-right: none; border-left: none;
}

.link_blue4{
    margin-left: 0;
    margin-right: auto;
}

.specialities div>p{
    color: #2D3DA5;
    font-size: 1.125rem;
}

@media (max-width: 991.5px) {
    .banner p, .p, .banner b{
        font-size: 1rem;
    }
    .specialities>div{
        width: 100%;
    }
}

@media (max-width: 555.5px) {
    .specialities .link_blue{
        font-size: 0.9rem;
    }

    .specialities div>p{
        font-size: 1rem;
    }
}

@media (max-width: 460.5px) {
    .specialities>div{
        flex-direction: column;
        padding: 12.5px;
    }

    .specialities .link_blue{
        margin-top: 12.5px;
    }
}


/* --------------------------------------------------------------------------- */
/* О нас - раздел "Наши контакты": */


.cont_div {
    display: flex;
    gap: 25px;
}

.cont_div>div {
    width: 50%;
}

.cont_div .row{
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.p span, .a_span {
    font-size: 1.125rem;
    opacity: 1;
    font-weight: 500;
}

.p2 {
    margin-top: 10px;
    color: var(--blue);
    font-size: 0.9rem;
    opacity: .7;
    text-align: justify;
}

@media (max-width: 991.5px) {
    .cont_div {
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: auto;
    }
    
    .cont_div>div {
        width: 100%;
    }

    #map{
        height: 400px;
    }

    .p span, .a_span {
        font-size: 1rem;
    }
    .p2 {
        font-size: 0.8rem;
    }
}

@media (max-width: 767.5px) {
    #map{
        height: 250px;
    }
}


/* --------------------------------------------------------------------------- */
/* О нас - раздел "Сертификат": */


.certificat img{
    width: 100%;
    border-radius: 7.5px;
}

.certificat_border{
    background: rgb(51, 73, 212);
    background: linear-gradient(180deg, rgba(51, 73, 212, 0.75) 0%, rgba(42, 52, 131, 0.75) 100%);
    padding: 2px;
    border-radius: 8.5px;
    width: 50%;
    margin: auto;
}

.certificat button{
    border: none;
    background: none;
}

.certificat .modal img{
    width: 70vw;
}

@media (max-width: 991.5px) {
    .certificat_border{
        width: 75%;
    }
}

@media (max-width: 555.5px) {
    .certificat_border{
        width: 100%;
    }
}


/* --------------------------------------------------------------------------- */
/* Адвокаты: */


.law_column{
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.lawyer_card{
    margin: auto;
    width: 80%;
    display: flex;
    gap: 25px;
    background-color: rgba(45, 61, 165, 0.08);
    border-radius: 5px;
    box-shadow: 0 0 8px 3px rgba(26, 20, 98, 0.15);
    padding: 25px;
}

.info_div{
    width: 75%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.info_div>div:first-child{
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.info_div>div:first-child>h6{
    margin: 0;
}

.info_div .spec, .info_div .span{
    font-size: 1.125rem;
}

.law_column .img_div{
    width: 25%;
}

.law_column img, .lawyer_card2 img{
    border: 2px solid rgba(45, 61, 165, 0.5);
}

.lawyer_card2, .review{
    margin: auto;
    width: 100%;
    display: flex;
    background-color: rgba(45, 61, 165, 0.08);
    border-radius: 5px;
    box-shadow: 0 0 8px 3px rgba(26, 20, 98, 0.15);
}

.lawyer_card2 .img_div img{
    width: 100%;
    height: 100%;
    aspect-ratio: 1/1;
}

.lawyer_card2 .img_div{
    height: 100%;
    aspect-ratio: 1/1;
}

.lawyer_card2 .info_div{
    padding: 25px;
}

.lawyer_connect div{
    padding: 20px;
    width: 50%;
    background-color: rgba(45, 61, 165, 0.08);
    border-radius: 5px;
    box-shadow: 0 0 8px 3px rgba(26, 20, 98, 0.15);
}

.lawyer_connect h4{
    margin: 0;
}

.lawyer_connect{
    display: flex;
    gap: 25px;
}

.button{
    border: none;
    width: 100%;
    padding: 10px 0 10px;
    font-size: 18px;
    background: rgb(50,70,199);
    background: linear-gradient(180deg, #3b51e0 0%, #313ea5 100%);
    color: white;
    border-radius: 10px;
    opacity: .825;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
}

.button:hover{
    opacity: 1;
}

.p_under{
    font-size: 17px;
}

.p_under span{
    font-size: 18px;
}

.info_div .rating1{
    display: block;
}

.info_div .rating2{
    display: none;
}

.select{
    border-radius: 5px;
    border: 1px solid #2a39999e;
    background-color: white;
    padding: 2.5px;
    padding-right: 5px;
    color: var(--blue);
}

.select::placeholder{
    color: var(--blue);
    opacity: .6;
}

@media (max-width: 991.5px) {
    .info_div>div:first-child{
        gap: 12.5px;
    }

    .lawyer_card{
        width: 100%;
    }
}

@media (max-width: 767.5px) {
    .law_column .img_div{
        width: 35%;
    }

    .info_div{
        width: 65%;
    }

    .info_div>div:first-child{
        gap: 10px;
    }

    .info_div>div:first-child>h6{
        font-size: 1.1rem;
    }

    .info_div .spec, .info_div .span{
        font-size: 1rem;
    }
}

@media (max-width: 575.5px) {
    .lawyer_card{
        gap: 12.5px;
        padding: 12.5px;
    }

    .info_div>div:first-child{
        gap: 7.5px;
    }

    .info_div .link_blue2{
        font-size: 1rem;
    }
}

@media (max-width: 475.5px) {
    .info_div .rating2{
        display: block;
    }

    .info_div .rating1{
        display: none;
    }

    .info_div h6{
        gap: 5px;
        display: flex;
    }

    .info_div{
        gap: 10px;
    }
}

.paginashon>nav {
    background: none;
    box-shadow: none;
    display: flex;
    justify-content: center;
    gap: 7.5px;
    margin-bottom: 50px;
}

.paginashon>nav>.yes, .paginashon>nav>.no  {
    background: linear-gradient(180deg, rgb(52, 77, 236) 0%, rgb(46, 60, 163) 100%);
    border: 2px solid var(--blue);
    border-radius: 5px;
    padding: 5px 8px;
    padding-top: 2.5px;
    font-weight: 500;
    color: white;
    box-shadow: none;
    text-shadow: none;
    opacity: .9;
    text-shadow: 1px 1px #2B3584;
}

.paginashon>nav>.no {
    opacity: 0.375;
}


/* --------------------------------------------------------------------------- */
/* Услуги: */


.lawyer_info_block2{
    display: flex;
    flex-direction: column;
    gap: 25px;
    margin-bottom: 50px;
}

.lawyer_info_block2>.lawyer_card2{
    width: 90%;
}

@media (max-width: 991.5px) {
    .lawyer_info_block2>.lawyer_card2{
        width: 100%;
    }
}


/* --------------------------------------------------------------------------- */
/* Выбранный адвокат: */


.info_div2>div:first-child{
    gap: 12.5px;
}

.lawyer_card3 img{
    width: 100%;
    aspect-ratio: 1/1;
}

.lawyer_card_full .img_div2{
    width: 350px;
}

@media (max-width: 767.5px) {
    .info_div2>div:first-child{
        gap: 2.5px;
    }
    .lawyer_card_full .info_div2{
        padding: 12.5px;
        padding-top: 17.5px;
    }
    .lawyer_card_full .info_div2{
        width: 100%;
    }
}

@media (max-width: 575.5px) {
    .lawyer_card_full{
        width: 80%;
        display: flex;
        flex-direction: column;
    }
    .lawyer_card_full .info_div2{
        width: 100%;
        padding: 25px;
    }

    .lawyer_card_full .img_div2{
        width: 100%;
    }
}

@media (max-width: 360.5px) {
    .lawyer_card_full{
        width: 100%;
    }
}


/* --------------------------------------------------------------------------- */
/* Авторизация и регистрация: */


.but_thing{
    padding-left: 35px;
    padding-right: 15px;
}

.label{
    color: var(--blue);;
}

.form2{
    border-radius: 5px;
    border: 1px solid #2a39999e;
    background-color: white;
    color: var(--blue);
    padding-left: 7.5px;
}

.form2::placeholder{
    color: var(--blue);
    opacity: .5;
}

.message_error{
    background-color: #db2f5d2f;
    border: 1px solid #9e2142;
    color: #911e3d;
    box-shadow: 0 0 0px 2px rgba(98, 20, 32, 0.05), 0 0 0px 3px rgba(98, 20, 32, 0.05);
    padding: 15px;
    border-radius: 5px;
}

.message_error{
    padding-bottom: 0;
}

.message_error ul{
    list-style-type: none;
    padding: 0;
}

.message_success{
    background-color: #2fdb4f27;
    border: 1px solid #187245;
    color: #187245;
    box-shadow: 0 0 0px 2px rgba(20, 98, 42, 0.05), 0 0 0px 3px rgba(20, 98, 45, 0.05);
    padding: 15px;
    border-radius: 5px;
}

.message_info{
    background-color: #2f46db12;
    border: 1px solid var(--blue);
    color: var(--blue);
    box-shadow: 0 0 0px 2px rgba(20, 55, 98, 0.05), 0 0 0px 3px rgba(20, 55, 98, 0.05);
    padding: 15px;
    border-radius: 5px;
}

.log_form{
    color: var(--blue);
}

.terms_div{
    width:83.25%
}

@media (max-width: 767.5px) {
    .terms_div{
        width:100%
    }
}


/* --------------------------------------------------------------------------- */
/* Новости: */


.card{
    border-radius: 5px;
    box-shadow: 0 0 10px 4px rgba(26, 20, 98, 0.05);
    border: 1px solid #2a39997c;
}

.card img{
    border-radius: 4px 4px 0 0;
}

.article_info_block img{
    width: 100%;
    margin: auto;
    border: 2px solid rgba(45, 61, 165, 0.5);
    border-radius: 10px;
}

.article_card2{
    margin: auto;
    width: 80%;
}

.article_index2{
    width: 90%;
}

@media (max-width: 767.5px) {
    .article_card2{
        width: 100%;
    }
    .article_index2{
        width: 100%;
    }
}


/* --------------------------------------------------------------------------- */
/* Отзывы: */


.review_form{
    margin: auto;
}

.review_form .select{
    background-color:rgb(250, 250, 255);
}

.another_fix .select{
    padding: 5px;
}

.button{
    border: none;
    width: 100%;
    padding: 5px 0 5px;
    font-size: 18px;
    background: rgb(50,70,199);
    background: linear-gradient(180deg, #3b51e0 0%, #313ea5 100%);
    color: white;
    border-radius: 10px;
    opacity: .825;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
}

.button:hover{
    opacity: 1;
}

.button_disabled{
    border: none;
    width: 100%;
    padding: 5px 0 5px;
    font-size: 18px;
    background: rgb(50,70,199);
    background: linear-gradient(180deg, rgb(59, 81, 224) 0%, rgb(49, 62, 165) 100%);
    color: white;
    border-radius: 10px;
    opacity: .825;
    text-align: center;
    text-decoration: none;
    cursor: default;
}

.review{
    margin: auto;
    width: 100%;
    display: flex;
    background-color: rgba(45, 61, 165, 0.08);
    border-radius: 5px;
    box-shadow: 0 0 8px 3px rgba(26, 20, 98, 0.15);
}

.review{
    display: flex;
    gap: 25px;
    padding: 20px;
}

.review .rev_img{
    width: 70px;
}

.review img{
    border-radius: 50%;
    aspect-ratio: 1/1;
}

.stars{
    color: #0296F2;
}

.stars>span{
    font-size: 1.325rem;
}

.rev_info{
    width: 100%;
}

.p_rev{
    opacity: .9;
}

.name_date{
    display: flex;
    justify-content: space-between;
}

@media (max-width: 575.5px) {
    .rev_img{
        display: none;
    }
    .button, .button_disabled{
        padding: 5px 5px 5px;
    }
}

@media (max-width: 387.5px) {
    .name_date{
        flex-direction: column;
    }
}


/* --------------------------------------------------------------------------- */
/* Профиль: */


.profile_form{
    display: flex;
    flex-direction: column;
    width: 90%;
    margin: auto;
}

.main_div{
    display: flex;
    width: 100%;
}

.main_div .edit{
    width: 75%;
}

.main_div .edit form{
    padding: 0 50px;
}

.main_div .edit_menu{
    height: auto;
    width: 25%;
    border-right: 2px solid #D7DAEA;
}

.main_div .edit_menu ul{
    position: sticky;
    margin: 0;
    padding: 0;
    list-style: none;
    top: 25px;
}

.form_div_del{
    display: flex;
    width: 100%;
    margin: auto;
    gap: 15px;
}

.form_div_del>a, .form_div_del>input{
    width: 50%;
}

.form_div_del>input:hover{
    background: linear-gradient(180deg, rgb(224, 59, 59) 0%, rgb(165, 61, 49) 100%);
    transition: .25s;
}

.main_div .select{
    padding: 7.5px;
}

.main_div .message_fix{
    margin: auto;
    width: 100%;
    padding: 0 50px;
}

/* .message_fix ul{
    padding-bottom: 0; margin-bottom: 0;
} */

.menu_hidden{
    display: none;
    border-bottom: 2px solid #D7DAEA;
    margin-bottom: 35px;
}

.menu_hidden ul{
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    list-style-type: none;
    padding: 0;
}

@media (max-width: 1023.5px) {
    .main_div .edit form{
        padding: 0 25px;
    }

    .main_div .message_fix{
        padding: 0 25px;
    }

    .main_div .edit_menu{
        width: 35%;
    }

    .main_div .edit{
        width: 65%;
    }
}

@media (max-width: 991.5px) {
    .form_div_del{
        flex-direction: column;
    }

    .form_div_del>a, .form_div_del>input{
        width: 100%;
    }
}

@media (max-width: 767.5px) {
    .main_div .edit{
        width: 100%;
    }

    .main_div .edit_menu{
        display: none;
    }

    .menu_hidden{
        display: block;
        width: 100%;
    }
}

@media (max-width: 575.5px) {
    .main_div .edit form{
        padding: 0 0;
    }

    .main_div .message_fix{
        padding: 0 0;
    }
}