.menu{ position: absolute; z-index: 2; padding: 10px 15px; display: flex; justify-content: space-between; align-items: center; }
.menu_circles{ transition: ease 1s; width: fit-content; background-color: rgba(48,50,54,0.5); padding: 0; margin-right: 25px; }
.menu_abierto{ transform: rotate(90deg); }
.circle_menu{ width: 40px; height: 6px; background-color: white; border-radius: 0%; margin: 5px; margin-bottom: 9px; }

.menu_container{ display: none; justify-content: flex-end; padding: 0; position: absolute; z-index: 1; }
.menu_extendido{ position: absolute; z-index: 3; background-color: rgba(0,0,0,0.6); height: 100vh; padding-top: 100px; text-align: right; padding-right: 20px; transition: ease 1s; }
.menu_extendido li{ list-style: none; margin-bottom: 10px; }
.menu_extendido a{ color: gray !important; text-transform: uppercase; font-weight: bold; }
.menu_extendido a:hover, .idioma_activo p{ color: #fff !important; }
.menu_extendido_open{right: 0 !important; }

.idioma_activo{ display: flex; align-items: center; justify-content: space-evenly; width: 90px; border: 1px solid #fff; border-radius: 15px; padding: 3px 0; cursor: pointer; }
.select_idioma{ background-color: rgba(255,255,255,0.5); width: 25%; border-radius: 3px; cursor: pointer; }
.select_idioma div{ display: flex; justify-content: space-evenly; align-items: center; }
.select_idioma p { color: #000; }
.select_idioma .activo, .select_idioma div:hover{ background-color: rgba(255,255,255,1); border-radius: 3px 3px 0 0; }
.dropdown_img{ width: 0; height: 0; border-left: 5px solid transparent; border-top: 5px solid #fff; border-right: 5px solid transparent; transition: ease 0.5s; }
.bandera{ height: 15px; }

#inicio{ filter: grayscale(1); width: 100%; }
#inicio:hover{ filter: unset; }

.mt80{ margin-top: 100px; }
.mb30{ margin-bottom: 30px; }
/* Celular */
@media (max-width: 767px) {
    .menu_extendido{ right: -100%; }
    .logo{ width: 100%; height: auto; }
}

/* Escritorio */
@media (min-width: 768px) {
    .menu_extendido{ right: -25%; }
    .logo{ height: 75px; }
}


.main-menu-title, .section-title, .port-title-cont h3{ text-transform: uppercase; }


.btn_contacto{ background-color: #D3D3D3; border-radius: 10px; position: fixed; z-index: 9; right: 10px; bottom: 10px; color: #000; font-weight: bold; box-shadow: -7px 7px 25px -3px rgba(0,0,0,0.5); -webkit-box-shadow: -7px 7px 25px -3px rgba(0,0,0,0.5); -moz-box-shadow: -7px 7px 25px -3px rgba(0,0,0,0.5); font-size: 16px; }




.w100{ width: 100%; }
.pd0{ padding: 0; }
blockquote{ padding: 0 20px 0 30px !important; }
h4{ margin: 0; }


.port-item{ width: 33.34% !important; }
.affix.header-1 #main-menu .navbar .nav > li > a, .affix.header-1 #main-menu .navbar .nav > li.current > a{ padding: 12px 3px 5px 3px; }

.carousel-esp{ background-image: unset !important; top: 50%; transform: rotate(-90deg); height: fit-content; color: #a3a3a3; text-shadow: unset; opacity: 1; font-size: 13px; letter-spacing: 1px; border-bottom: 1px solid #b8b8b8; }
.carousel-esp.left{ left: -115px !important; }
.carousel-esp.right{ right: -115px !important; transform: rotate(90deg) !important; }
.carousel-esp:focus, .carousel-esp:hover{ color: #000; }
.item{ margin: 0 !important; }

.hr_divider{ margin: 50px auto; width: 14%; height: 2px; border: none; background-color: #000; }

::selection { background-color: #bdbdbd !important; color: #fff !important; }
.brochure{ color: #0179DF; text-decoration: underline; }
.brochure:hover{ color: #014c8e; }



.carousel-ubi{ background-image: none !important; color: #000; opacity: 1; font-size: 40px; text-shadow: unset; top: 103%; }
.carousel-ubi.left{ left: 30%; }
.carousel-ubi.right{ right: 30%; }
.carousel-control:focus, .carousel-control:hover{ color: #000; }

.carousel-ubi-indi{ top: 104.5%; }
.carousel-ubi-indi li{ border: 2px solid #000; }
.carousel-ubi-indi .active{ width: 10px; height: 10px; margin: 1px; background-color: #000; }

.member h3{ font-weight: 400 !important; }
.member{ margin-bottom: 30px !important; }
.member span{ font-weight: 700 !important; color: #000; font-size: 16px; }


.owl-carousel:hover .owl-prev{ opacity: 0; }
.owl-next{ opacity: 1; font-size: 12px; font-weight: 700; right: 10px; top: 2%; }


.black_divider{ height: 60px; background-color: #000; margin-top: 0.5em; }


.align-center{ align-items: center; }

@media (min-width: 768px) {
    .d-flex-d{ display: flex; }
}


.formulario_content{ background-color: #000; color: #fff; padding: 15px 30px 41px; margin: 30px auto; }
input, textarea{ color: #fff !important; }
input[type=number]::-webkit-inner-spin-button, input[type=number]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }

.port-item .port-img-overlay:after{ background-color: rgba(0,0,0,0.7); }
.port-main-img{ filter: grayscale(1); }
.port-item:hover .port-main-img{ filter: grayscale(0); transform: unset; }
.port-item:hover .port-img-overlay:after{ background-color: unset; }
.port-overlay-cont{ opacity: 1; padding: 30px 35px; display: flex; align-items: center; justify-content: center; }
.port-item:hover .port-overlay-cont{ padding: 30px 35px; background-color: rgba(0,0,0,0.4); }

.port-title-cont{ background-color: rgba(255,255,255,0.7); color: #000; padding: 10px 15px; }
.port-title-cont h3{ text-align: center; }
.port-title-cont h3 a{ color: #000; }
.port-btn-cont { text-align: center; }
.port-btn-cont a{ color: #fff; font-size: 14px; text-decoration: underline; }

.page-section{ padding-top: 65px; padding-bottom: 65px; }
.cd-header-buttons{ margin: 0; display: flex; align-items: center; right: 25px; }
.dropdown, .dropup{ position: unset; }
.change_language{ background-color: unset; color: #fff; padding: 0; }
.dropdown-menu{ min-width: 100px; padding: 0; margin: 0; }

html { scroll-behavior: smooth; }

.grayscale{ filter: grayscale(1); }
.grayscale:hover{ filter: grayscale(0); }
.trabajo_bkgnd:hover{ filter: grayscale(0) !important; }


.custom-input-file{ font-weight: 700; border-bottom: 1px solid; width: fit-content; padding: 0 7px; overflow: hidden; }

.custom-input-file .input-file { opacity: 0; position: absolute; }
.btn_enviar{ padding: 0; font-weight: 700; border: none; }

p{ margin: 0; }
.mb1{ margin-bottom: 1em; }
.footer2-black a, .footer2-black{ color: #fff; }

.logo-footer-cont { margin-bottom: 10px; }


.area_practica_int_banner, .abogados_banner{ justify-content: space-between; align-items: center; }

/* MOVIL */
@media (max-width: 768px){
    .area_practica_int_banner{ padding: 30px 50px 0 50px; }
    .abogados_banner{ padding: 30px 50px; }
    .lawyer_description{ padding: 0 2em; }
}

/* DESKTOP */
@media (min-width: 769px){
    .area_practica_int_banner{ display: flex; padding: 30px 65px 0px 65px; }
    .abogados_banner{ display: flex; padding: 30px 65px; }
    .lawyer_description{ padding: 0 6em; }
}
 


@media (max-width: 1024px){
#main-menu .navbar .nav .open-sub { display: none; }
}


.abogado_titulo{ text-transform: uppercase; font-weight: 700; margin: 0 0 1em; }
.member{ cursor: pointer; }

.redes_sociales{ display: flex; justify-content: space-between; }
.redes_sociales_img{ width: 20px; filter: opacity(0.6); }

.d-flex{ display: flex; }
.justify-space-between{ justify-content: space-between; }

.mas_abogados{ border-top: 2px solid #DEDEDE; border-bottom: 2px solid #DEDEDE; padding: 2em 0; margin-bottom: 2em; font-weight: 700; }
.flecha{ width: 15px; filter: opacity(0.5); }
.flecha.left_a{ margin-right: 10px; }
.flecha.right_a{ margin-left: 10px; }



*, *::before, *::after { box-sizing: border-box; }
.timeline { position: relative; width: 100%; max-width: 1140px; margin: 0 auto; padding: 15px 0; }
.timeline::after { content: ''; position: absolute; width: 2px; background: #979797; top: 0; bottom: 0; left: 33%; margin-left: -1px; }
.container_time { padding: 15px 30px; position: relative; background: inherit; width: 70%; }
.container_time.right_time { left: 33%; }
.container_time::after { content: ''; position: absolute; width: 10px; height: 10px; top: calc(50% - 8px); right: -8px; background: #1e1e1e; border: 2px solid #1e1e1e; border-radius: 16px; z-index: 1; }
.container_time.right_time::after { left: -5px; }
.container_time .date { position: absolute; display: inline-block; top: calc(50% - 14px); text-align: center; font-weight: bold; color: #000; z-index: 1; }
.container_time.right_time .date { left: -165px; }
.container_time .content { padding: 30px; position: relative; }
.container_time.right_time .content { padding: 0; }
.container_time .content p { margin: 0; color: #000000; }

.timeline_esp { position: relative; width: 100%; max-width: 1140px; margin: 0 auto; padding: 15px 0; }
.timeline_esp::after{ content: ''; position: absolute; width: 1px; background-color: #979797; top: 0; bottom: 0; left: 12%; margin-left: 1px; }
.container_time_esp { padding: 15px 0px 15px 40px; position: relative; background: inherit; width: 70%; }
.container_time_esp.right_time_esp { left: 11%; }
.container_time_esp .date { position: absolute; display: inline-block; top: calc(50% - 14px); text-align: center; font-weight: bold; color: #000; z-index: 1; }
.container_time_esp.right_time_esp .date { left: -100px; }
.container_time_esp .content { padding: 30px; position: relative; }
.container_time_esp.right_time_esp .content { padding: 0; }
.container_time_esp .content p { margin: 0; color: #000000; }

@media (max-width: 767.98px) {
    .timeline::after { left: 145px; }
    .container_time { width: 100%; padding-left: 165px; padding-right: 0px; }
    .container_time.right_time { left: 0%; }
    .container_time.right_time::after { left: 140px; }
    .container_time.right_time::before { left: 100px; border-color: transparent #000 transparent transparent; }
    .container_time.right_time .date { right: auto; left: 0px; }

    .timeline_esp::after { left: 145px; }
    .container_time_esp { width: 100%; padding-left: 165px; padding-right: 0px; }
    .container_time_esp.right_time_esp { left: 0%; }
    .container_time_esp.right_time_esp::after { left: 137px; }
    .container_time_esp.right_time_esp::before { left: 100px; border-color: transparent #000 transparent transparent; }
    .container_time_esp.right_time_esp .date { right: auto; left: 0px; }
    
}

@media (min-width: 768px) and (max-width: 991px) {
    .container_time_esp.right_time_esp { left: 16%; }
    .timeline_esp::after{ left: 17%; }
}

.centrado{ display: flex; align-items: center; justify-content: center; width: 40%; margin: 0 auto; }

.mobile .port-overlay-cont{ display: flex; visibility: visible; }

.footer-2-soc-a img{ height: 20px; filter: contrast(0); }