@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300..700;1,300..700&family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&display=swap');

*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root{
    --primary-color--: #5A111F;
    --secondary-color--: #BF495F; 
}

a{
    text-decoration: none !important;
    font-size: 16px;
    line-height: 1;
    color: #000;
}

ul{
    margin: 0;
    padding: 0;
    list-style: none;
}

body{
    font-family: "Lato", sans-serif;
    font-size: 16px;
    background: #FFF6F4B5;
}

h1,h2,h3,h4,h5,h6{
    font-family: "Cormorant Garamond", serif;
    color: #000;
    margin-bottom: 0;
}

p{
    font-size: 16px;
    margin: 0;
    color: #000;
}

section{
    overflow: hidden;
}

/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Firefox */
input[type=number] {
  -moz-appearance: textfield;
}

header{
    display: flex;
    justify-content: space-between;
    padding: 10px 4%;
    align-items: center;
    position: fixed;
    z-index: 99;
    width: 100%;
    transition: .3s;
}

header.active{
    background: var(--primary-color--);
}

header .logo img{
    width: 330px;
}

header.active .logo img, header.menu_active .logo img{
    filter: brightness(0) invert(1);
}

header .menu_btn button{
    background: none;
    border: none;
    color: #fff;
}

header nav{
    position: absolute;
    height: 100vh;
    width: 100%;
    left: 0;
    top: 0;
    background: var(--primary-color--);
    background-size: cover;
    padding: 130px 5% 100px 5%;
    z-index: -1;
    display: flex;
    /* align-items: end; */
    clip-path: circle(0% at 100% 0);
    transition: 0.5s;
}

header nav.active{
    clip-path: circle(160% at 100% 0);
}

header nav ul{
    display: flex;
    /* flex-direction: column; */
    gap: 5% 0;
    /* justify-content: center; */
    flex-wrap: wrap;
}

header nav ul li{
    width: 50%;
}

header nav ul li a{
    color: #fff;
    font-size: 5vh;
    height: 100%;
    padding: 0 20px 5px;
    position: relative;
    font-weight: 800;
}

header nav ul li a:hover{
    color: #fff;
}

header nav ul li a span{
    font-size: 3vh;
}

header nav ul li a::before{
    content: '';
    width: 0;
    height: 2px;
    background: #fff;
    left: 0;
    bottom: 0;
    position: absolute;
    transition: 0.3s;
}

header nav ul li a:hover::before{
    width: 100%;
}

header nav .menu_line_1{
    position: absolute;
    height: 100%;
    width: 1px;
    background: var(--secondary-color--);
    left: 5%;
    top: 0;
}

header nav .menu_line_2{
    position: absolute;
    height: 1px;
    width: 100%;
    background: var(--secondary-color--);
    bottom: 96px;
    left: 0;
}

.get_legal_btn{
    display: inline-block;
    padding: 10px 20px;
    background: var(--secondary-color--);
    color: #fff;
    border-radius: 6px;
    transition: .3s;
    line-height: 1;
    border: none;
}

.get_legal_btn.bg_green{
    background: #00545e;
}

.get_legal_btn:hover{
    color: #fff;
    transform: scale(1.1);
}

.view_all_btn{
    display: inline-block;
    padding: 10px 20px;
    background: #fff;
    color: #000000;
    border-radius: 6px;
    transition: .3s;
}

.view_all_btn:hover{
    color: #000000;
    transform: scale(1.1);
}

.banner{
    position: relative;
}

.banner img{
    width: 100%;
    height: 100vh;
    object-fit: cover;
}

.banner::before{
    content: '';
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background: linear-gradient(270deg, rgba(0, 0, 0, 0) 44.58%, rgba(0, 0, 0, 0.6) 100%);
    z-index: 1;
    position: absolute;
}

.banner .content{
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 700px;
    left: 4%;
    z-index: 2;
}

.banner .content h2{
    color: #fff;
    font-weight: 700;
    font-size: 48px;
}

.banner .content p{
    color: #fff;
    margin-bottom: 10px;
}

.banner_sec{
    position: relative;
}

/* .banner_sec .slick-list{
    overflow-y: visible;
} */

.banner_sec .banner_content_slider{
    position: absolute;
    bottom: 0;
    width: 92%;
    left: 4%;
    z-index: 2;
    bottom: 50px;
    border-bottom: 1px solid #FFFFFF2E
}

.banner_sec .banner_content_slider .banner_content{
    position: relative;
    padding-bottom: 10px;
}

.banner_sec .banner_content_slider .banner_content::before{
    content: '';
    width: 100%;
    height: 1.5px;
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 1;
    background: #FFA238;
    opacity: 0;
}

.banner_sec .banner_content_slider .slick-current .banner_content::before{
    opacity: 1;
}

.banner_content{
    display: flex;
    gap: 15px;
}

.banner_content .num{
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    border: 1px solid #fff;
    border-radius: 50%;
    color: #fff;
    flex: 0 0 auto;
}

.banner_content h3{
    font-size: 14px;
    color: #fff;
}

.heading h2{
    font-weight: 700;
    font-size: 48px;
}

.heading p{
    font-size: 16px;
    color: #675A57;
}

.conter_card{
    padding: 14px 0;
}

.conter_card p.conter{
    font-weight: 700;
    font-size: 40px;
    color: var(--secondary-color--);
}

.conter_card p{
    font-size: 14px;
    color: #484848;
}

.conter_row .conter_col:not(:last-child){
    border-right: 1px solid #E4E4E4;
}

.about_us_bg{
    position: relative;
    z-index: 1;
}

.about_us_bg::before{
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background: url(../images/bg_shape_1.avif) no-repeat;
    background-size: cover;
    z-index: -2;
    transform: rotateX(180deg);
    opacity: 0.05;
}

.about_us_bg .about_us_bg_img{
    position: absolute;
    right: 0;
    top: 0;
    height: 80%;
    z-index: -1;
}

.about_us_bg .about_us_bg_img img{
    opacity: 0.1;
}

.why_choose_card{
    background: #F2E5E2;
    border-radius: 10px;
    padding: 20px;
    height: 100%;
}

.why_choose_card .num span{
    color: #111111;
    font-size: 16px;
    font-weight: 700;
}

.why_choose_card h3{
    font-weight: 700;
    font-size: 24px;
}

.why_choose_card p{
    font-weight: 400;
    font-size: 14px;
}

.client_img{
    aspect-ratio: 4/1;
    object-fit: contain;
    width: 100%;
}

.testimonial_card{
    background: #FFF9F7;
    border-radius: 20px;
    padding: 20px;
}

.testimonial_card p{
    font-size: 20px;
}

.testimonial_card .info_sec{
    display: flex;
    gap: 15px;
}

.testimonial_card .info_sec img{
    width: 60px;
    height: 60px;
    border-radius: 50%;
    flex: 0 0 auto;
}

.testimonial_card .info_sec .name h3{
    color: #111111;
    font-size: 24px;
}

.testimonial_card .info_sec .name span{
    color: #111111;
    font-size: 14px;
}

.testimonial_slider{
    position: relative;
}

.testimonial_slider::before, .testimonial_slider::after{
    content: '';
    width: 100%;
    height: 70px;
    position: absolute;
    left: 0;
    z-index: 1;
}

.testimonial_slider::before{
    background: linear-gradient(360deg, rgba(255, 255, 255, 0) 4.95%, rgba(255, 255, 255, 0.97) 48.07%, #FFFFFF 92.29%);
    top: 0;
}

.testimonial_slider::after{
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 4.95%, rgba(255, 255, 255, 0.95) 48.07%, #FFFFFF 92.29%);
    bottom: 0;
}

.blog_card{
    width: 100%;
}

.blog_card img{
    width: 100%;
    aspect-ratio: 4/2.2;
    object-fit: cover;
}

.blog_card p{
    font-size: 14px;
    padding: 10px 0;
}

.blog_card h3{
    font-size: 20px;
    font-weight: 500;
}

.subscribe_bg{
    background-color: #772E3C;
}

.subscribe_form form{
    display: flex;
    width: 100%;
}

.subscribe_form form input{
    height: 70px;
    width: 100%;
    background: #FFFFFF1A;
    border: none;
    border-radius: 20px 0 0 20px;
    color: #fff;
    padding: 0 20px;
    outline: none;
}

.subscribe_form form input::placeholder{
    color: #fff;
}

.subscribe_form form button{
    padding: 0 20px;
    color: #675A57;
    background-color: #fff;
    border-radius: 0 20px 20px 0;
    font-size: 16px;
    border: none;
    font-weight: 700;
}

footer{
    background-color: var(--primary-color--);
}

.footer_logo h2{
    font-weight: 700;
    font-size: 26px;
    color: #fff;
}

.address{
    color: #fff;
}

.address a{
    color: #fff;
    text-decoration: underline !important;
}

.footer_heading h3{
    font-weight: 600;
    font-size: 18px;
    color: #fff;
}

.footer_menu ul li{
    margin-bottom: 10px;
}

.footer_menu ul li a{
    color: #CCCCCC;
    font-size: 14px;
}

.footer_menu ul li a:hover{
    color: #fff;
}

.social_icons ul{
    display: flex;
    gap: 10px;
}

.social_icons ul li a{
    color: #fff;
}

.copy_right_flex{
    display: flex;
    justify-content: space-between;
    gap: 10px 20px;
    flex-wrap: wrap;
}

.copy_right_flex .copy_right_p{
    color: #fff;
    font-weight: 500;
}

.privacy_policy{
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.privacy_policy a{
    color: #fff;
    font-weight: 500;
}

.legal_solutions_bg{
    position: relative;
    /* background: var(--primary-color--); */
}

.legal_solutions_bg::before{
    content: '';
    position: absolute;
    width: calc(100% - 4%);
    background: var(--primary-color--);
    left: 2%;
    top: 0;
    height: 100%;
    border-radius: 30px;
}

.legal_solutions_card{
    position: relative;
    overflow: hidden;
    border-radius: 30px 30px 0 0;
    transition: 0.5s;
}

.legal_solutions_card:hover{
    transform: rotate(3deg) translateY(3%);
}

.legal_solutions_card.hover_rev:hover{
    transform: rotate(-3deg) translateY(3%);
}

.legal_solutions_card::before{
    content: '';
    z-index: 1;
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background: linear-gradient(180deg, rgba(121, 112, 109, 0) 15.08%, rgba(210, 194, 190, 0.73) 54.68%, #DCCBC7 71.01%, #DFCECA 100%);
}

.legal_solutions_card img{
    aspect-ratio: 1/1;
    width: 110%;
    object-fit: cover;
    transition: 0.5s;
    object-position: center center;
}

.legal_solutions_card:hover img{
    transform: rotate(-3deg) translateY(-3%);
}

.legal_solutions_card.hover_rev:hover img{
    transform: rotate(3deg) translateY(-3%);
}

.legal_solutions_card .content{
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 10px 30px 20px;
    z-index: 2;
    transition: 0.5s;
}

.legal_solutions_card:hover .content{
    transform: rotate(-3deg) translateY(-5%) translateX(2%);
}

.legal_solutions_card.hover_rev:hover .content{
    transform: rotate(3deg) translateY(-5%) translateX(-2%);
}

.legal_solutions_card .content h3{
    font-weight: 700;
    font-size: 38px;
    color: #111111;
}

.legal_solutions_card .content p{
    font-size: 14px;
    color: #111111;
}

.legal_solutions_card .content p strong{
    font-size: 16px;
}

.inner_banner_bg{
    padding-top: 120px;
    position: relative;
    z-index: 2;
}

.inner_banner_bg::before{
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background: var(--primary-color--);
    z-index: -2;
}

.inner_banner_bg .inner_banner_bg_img{
    position: absolute;
    right: 0;
    top: 0;
    height: 90%;
    z-index: -1;
}

.inner_banner_bg .inner_banner_bg_img img{
    height: 100%;
    transform: rotate(180deg);
    mix-blend-mode: soft-light;
    opacity: .3;
}

.inner_banner_bg .inner_banner_bg_img_1{
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;
    width: 100%;
    z-index: -3;
}

.inner_banner_bg .inner_banner_bg_img_1 img{
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.inner_heading h1{
    font-weight: 700;
    font-size: 57px;
    color: #fff;
}

.inner_content p{
    font-weight: 400;
    font-size: 16px;
    color: #fff;
}

.inner_banner_img img{
    aspect-ratio: 5.3 / 5;
    object-fit: cover;
    border-radius: 30px;
}

.img_op img{
    opacity: 0.3;
}

.bg_primary{
    background: var(--primary-color--);
}

.vision_img img{
    aspect-ratio: 3/2;
    object-fit: cover;
    border-radius: 15px;
}

.vision_bg{
    position: relative;
    /* background: var(--primary-color--); */
    z-index: 1;
}

.vision_bg::before{
    content: '';
    position: absolute;
    width: calc(100% - 4%);
    background: #F1E5E2;
    left: 2%;
    top: 0;
    height: 100%;
    border-radius: 30px;
    z-index: -1;
}

.inner_banner_gradient_bg::before{
    background: linear-gradient(89.69deg, #5A111F 12.99%, rgba(90, 17, 31, 0.93) 60.5%, rgba(90, 17, 31, 0.67) 99.7%);
}

.service_card{
    background: #F1E5E2;
    padding: 30px 20px;
    border-radius: 20px;
    height: 100%;
}

.service_card h3{
    color: #111111;
    font-size: 38px;
    font-weight: 700;
}

.service_card p{
    margin-bottom: 10px;
}

.service_img{
    height: 100%;
}

.service_img img{
    /* aspect-ratio: 6/5; */
    object-fit: cover;
    border-radius: 20px;
    height: 100%;
}

.legal_partner_img img{
    aspect-ratio: 3.3/5;
    object-fit: cover;
    border-radius: 15px;
    width: 100%;
}

.big_heading{
    font-weight: 700;
    font-size: 15vw;
    color: #F1E5E2;
    white-space: nowrap;
}

.why_choose_card_slider .slick-slide > div{
    display: flex;
}

.why_choose_card_slider .slick-dots{
    display: flex;
    width: 40%;
    /* border: 1px solid var(--primary-color--); */
    background: #F1E5E2;
    padding: 2px;
    border-radius: 50px;
    margin: 0 auto;
    margin-top: 20px;
}

.why_choose_card_slider .slick-dots li{
    width: 100%;
    display: flex;
    align-items: center;
}

.why_choose_card_slider .slick-dots li button{
    width: 100%;
    font-size: 0;
    height: 6px;
    border: none;
    border-radius: 50px;
    background: none;
    transition: 0.3s;
}

.why_choose_card_slider .slick-dots li.slick-active button{
    background: var(--primary-color--);
}

.service_container > .row:nth-child(even){
    flex-direction: row-reverse;
}

.contact-form {
    flex: 1;
    /* padding: 40px; */
}

.contact-form .form-group {
    margin-bottom: 15px;
}

.contact-form input, .contact-form textarea {
    width: 100%;
    padding: 12px;
    border-radius: 8px;
    border: 1px solid #ccc;
    font-size: 1rem;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.contact-form input:focus, .contact-form textarea:focus {
    border-color: var(--primary--);
    box-shadow: 0 0 8px rgba(42,82,152,0.3);
    outline: none;
}

.contact-form input[type="file"]{
    padding-top: 9px;
    padding-bottom: 9px;
}

.contact-form button {
    background: var(--primary-color--);
    color: #fff;
    padding: 12px 25px;
    border: none;
    border-radius: 8px;
    font-size: 1rem;
    cursor: pointer;
    transition: background 0.3s ease, transform 0.3s ease;
}

.contact-form button:hover {
    /* background: #1e3c72; */
    transform: translateY(-2px);
}

.blog_content p {
    margin-bottom: 15px;
}

.recent_blogs h2 {
    font-size: 22px;
}

.contact_1 {
    text-align: center;
    box-shadow: 0 0 8px #eeeeee;
    border: 1px solid #eeeeee;
    transition: 0.3s;
    padding: 10px;
    height: 100%;
    display: flex;
    flex-direction: column;
    /* justify-content: center; */
    align-items: center;
    padding: 20px 10px;
    /* border-radius: 5px; */
}

/* .contact_1:hover{
    box-shadow: 0 0 10px var(--green--);
} */

.contact_1 i{
    /* width: 100%;
    height: 100%; */
    font-size: 26px;
    /* position: absolute;
    left: -30px;
    top: 2px; */
    color: #fff;
    display: block;
    margin-bottom: 10px;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: var(--secondary-color--);
    display: grid;
    place-items: center;
}

.contact_1 p{
    padding-bottom: 5px;
}

.contact_1 a{
    color: #000;
}

.form_1{
    width: 100%;
    /* padding: 10px 20px; */
    /* border: 1px solid var(--green--); */
    border-radius: 10px;
    /* text-align: center; */
}
.form_1 form input::placeholder{
    color: #4f4f4f;
}
.form_1 form input, .form_1 form select{
    width: 100%;
    outline: none;
    border: none;
    /* border-bottom: 1px solid #000; */
    border: 2px solid #eeeeee;
    padding-left: 10px;
    margin-bottom: 15px;
    height: 40px;
    background: #fff;
    color: #4f4f4f;
}

.form_1 form input[type="submit"]{
    padding: 5px 30px;
    width: 50%;
    font-size: 18px;
    /* background: var(--green--); */
    background: var(--secondary-color--);
    color: #fff;
    /* border-radius: 10px; */
    border: none;
    text-transform: uppercase;
}

.form_1 form textarea{
    width: 100%;
    border: none;
    /* border-bottom: 1px solid #000; */
    border: 2px solid #eeeeee;
    outline: none;
    padding-left:10px;
    margin-bottom: 15px;
    height: 100px;
    padding-top: 10px;
}

.logos img {
    aspect-ratio: 2/1;
    object-fit: contain;
    filter: grayscale(100%);
}

.logos:hover img {
  filter: grayscale(0);
}

.event_cards{
    display: flex;
    /* gap: 20px; */
    /* align-items: center; */
    width: 100%;
}

.event_cards .event_img{
    width: 50%;
    flex:  0 0 auto;
    position: relative;
    padding-right: 20px;
}

.event_cards .event_img img{
    aspect-ratio: 6/5;
    object-fit: cover;
    height: 100%;
}

.event_cards .event_img .event_date{
    position: absolute;
    left: 0;
    top: 0;
    padding: 10px;
    background: var(--secondary-color--);
}

.event_cards .event_img .event_date p{
    font-size: 16px;
    color: #fff;
    font-weight: 600;
}

.event_cards .event_img .event_date span{
    font-size: 28px;
    color: #fff;
    font-weight: 600;
}

.event_cards .content{
    width: 50%;
    flex:  0 0 auto;   
}

.event_cards .content h3{
    font-size: 24px;
    font-weight: 600;
    margin: 0;
}

.event_cards .content .event_location{
    color: #8e8e8e;
}

.event_cards .content p{
    font-size: 16px;
    margin-bottom: 5px;
    text-align: justify;
}

.event_cards .content .event_details_btn{
    display: flex;
    justify-content: space-between;
    color: var(--primary-color--);
}

.modal_body .lead {
    font-size: 16px;
}