/*   
Theme Name: your-clean-template-3
Theme URI: https://github.com/saxap/clean-wp-template
Version: 3.0
Tags: clean, development, html5, bootstrap
Description: Clean wordpress theme with minimal bootstrap3 markup for fast development starting
Author: saxa:p
Author URI: http://dontforget.pro
*/
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;500;700&display=swap');

:root {
    --light-color: #4986c1;
    --dark-color: #001b5b;
    --font-color: #3e3e3e;
    --back-color: #efefef;
    --small-font: clamp(12px, 1vw, 14px);
    --middle-font: clamp(14px, 1.3vw, 20px);
    --big-font: clamp(16px, 1.45vw, 25px);
    --main-title-font: clamp(45px, 3.5vw, 60px);
    --middle-title-font: clamp(30px, 2.5vw, 45px);
    --small-title-font: clamp(25px, 2.2vw, 40px);
    --button-padding: max(0.8vw, 8px) max(2vw, 20px);
    --small-margin: max(1.5vw, 15px);
    --block-margin: max(5vw, 40px);
}
html {
    font-size: var(--small-font);
    line-height: 1.5
}
img {
    width: 100%;
    height: 100%;
    object-fit: cover
}
* {box-sizing: border-box}
body, body * {
    padding:0;margin:0;
    font-family: 'Montserrat', sans-serif;
    font-weight: 300
}
font {
    margin: 0 !important; 
    padding: 0 !important;
    font-weight: inherit !important;
}
p {margin:0}
a, li {display: inline-block}
ul {padding:0}
figure {margin: 0;display:flex;height:100%}
h1, h2, h3 {
    font-weight: 100;
    line-height: 1.13;
    margin: 0 0 var(--small-margin);
}
h2 strong {display: block;font-weight: 700}
.wp-block-cover {position: relative}
.wp-block-cover img {position: absolute;z-index: 0}
.wp-block-cover .wp-block-cover__background {
    position: absolute;
    width: 100%;height: 100%;
    top:0;left:0;
    background-color: #fff;
    opacity: 0.8;
    z-index: 1
}
.button-link, .not-button-link {
    display: inline-flex;
    padding-right: max(5vw, 55px);
    gap: 20px;
    text-decoration: none;
}
.button-link strong {
    background-color: var(--dark-color);
    color: #fff;
    font-weight: 700;
    border-radius: 32px;
    padding: var(--button-padding);
    font-size: var(--big-font);
    text-decoration: none;
    text-transform: uppercase;
    cursor: pointer
}
.button-link.light strong {background-color: var(--light-color)}
.not-button-link {
    padding: max(0.8vw, 8px) max(4vw, 50px) max(0.8vw, 8px) 0;
    text-decoration: none;
    text-transform: uppercase;
    color: var(--dark-color);
    font-size: 1.1rem
}
.arrow {
    position: relative;
    transform: scale(1);
    transition: 0.4s ease-out
}
.arrow span {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    height: 100%;
    box-sizing: border-box;
    aspect-ratio: 1 / 1;
    position: absolute;
    top:0;right:0;
    border: 2px solid var(--dark-color);
    border-radius: 50%;
    transition: 0.4s 
}
.arrow.light span {border: 2px solid var(--light-color)}
.not-button-link.arrow span {
    right:0
}
.arrow span::after, .scroll-top::after {
    content: "";
    display: inline-block;
    width: 25%;
    aspect-ratio: 1 / 1;
    border-top: 3px solid var(--dark-color);
    border-right: 3px solid var(--dark-color);
    transform: rotate(45deg);
    position: relative;
    right: 45%;
    transition: 0.4s
}
.arrow.light span::after {
    border-top: 3px solid var(--light-color);
    border-right: 3px solid var(--light-color)
}
.arrow span::before, .scroll-top::before {
    content: "";
    display: inline-block;
    width: 0;
    height: 3px;
    background-color: var(--dark-color);
    position: relative;
    right: 10%;
    transition: 0.4s
}
.arrow.light span::before {background-color: var(--light-color)}
.arrow:hover, .arrow:hover span, .practice_slider-item:hover .not-button-link {
    transform: scale(1.05);
    transition: 0.4s ease-out
}
.arrow:hover span::after, .scroll-top:hover::after, .practice_slider-item:hover .not-button-link span::after {
    right: 30%;
    transition: 0.4s
}
.arrow:hover span::before, .scroll-top:hover::before, .practice_slider-item:hover .not-button-link span::before {
    width: 40%;
    right: 0;
    transition: 0.4s
}
.overlap {position: relative}
.overlap::before, .page-template-default:not(.home) header::before, .practice_area-template-default header::before {
    content: "";
    position: absolute;
    top:0;left:0;
    width:100%;height:100%;
    background-color: #fff;
    opacity: 42%
}

.button-link .wpcf7-spinner {
    display: none !important;
    position: absolute;
    width: 25px
}
.submitting .button-link span, .resetting .button-link span, .sent .button-link span {border-color: green}
.submitting .button-link span::before, .resetting .button-link span::before, .sent .button-link span::before {
    display: none;
}
.submitting .button-link span::after, .resetting .button-link span::after {
    position: static;
    content: '';
    width: 60%;height: 60%;
    margin-right: 20%;
    box-sizing: border-box;
    border: 4px solid green;
    border-radius: 50%;
    background-color: #fff;
    border-left-color: transparent;
    left: 50%;top: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    animation: spin 2s infinite linear;
}

.sent .button-link span::after {
    position: absolute;
    content: '';
    width: 40%;height: 20%;
    border: 4px solid green;
    border-right: 0;
    border-top: 0;
    left: 50%;top: 50%;
    transform: translate(-50%, -50%) rotate(0deg) scale(0);
    animation: success ease-in 0.15s forwards;
  }
  @keyframes spin {
    0% { transform: rotate(0deg) scale(1);}
    90% { transform: rotate(1080deg) scale(1); }
    100% { transform: scale(0); }
    }
  @keyframes success{
    from {transform: translate(-50%, -50%) rotate(0) scale(0)}
    to {transform: translate(-50%, -50%) rotate(-45deg) scale(1)}
}

.wpcf7-response-output {font-size: 1.3rem;}
/* .wpcf7-spinner::before {
    background-color: var(--light-color)
} */
/************ ANIMATION ************/
/* .fadein-right {opacity: 0;transform: translate(40vw, 0)}
.fadein-right.animate {opacity: 1;transform: translate(0, 0);transition: 1.5s ease-out}
.fadein-left {opacity: 0;transform: translate(-40vw, 0)}
.fadein-left.animate {opacity: 1;transform: translate(0, 0);transition: 1.5s ease-out}*/

.fadein > * {opacity: 0;transition: 1.5s ease-out}
.fadein.animate > * {opacity: 1;transition: 1.5s ease-out} 

/*-------------- HEADER --------------*/
header {
    width: 100%;
    background: transparent;
    padding: max(1vw, 10px) 0 0;
    z-index: 999;
    transition: 0.4s;
}
.page-template-default:not(.home) .change-lang {margin-bottom: 0}
.page-template-default:not(.home) .small .change-lang, .practice_area-template-default .small .change-lang {margin-bottom: max(1vw, 10px)}
.page-template-default:not(.home) header, .practice_area-template-default header {
    background: url('/wp-content/themes/komessar-law/images/header-back.webp') no-repeat center center;
    background-size: auto 100%;
    position: sticky;
    top:0;left:0;
    padding: var(--small-margin) 0
}
.page-template-default:not(.home) header::before, .practice_area-template-default header::before {opacity: 0.8}
.page-template-default:not(.home) header  .custom-logo-link, .practice_area-template-default header .custom-logo-link {margin-top: min(-1vw, -10px)}
.home header {
    position: fixed !important;
    top: 0;left: 0;
}
.change-lang {
    width: 85vw;
    margin: 0 auto max(1vw, 10px);
    text-align: right
}
.small .change-lang {margin-bottom: max(0.6vw, 6px)}
.practice_area-template-default .change-lang {margin-bottom: 0}
.change-lang .lang-en:has(.gt-current-lang), .change-lang .lang-es:has(.gt-current-lang) {display: none}
.lang-es .glink, .lang-en .glink {
    display:flex; 
    align-items: center;
    gap: 5px;
    color: transparent;
    width: 100%;
    position: relative
}
.lang-es .glink::before, .lang-en .glink::before {
    content: "";
    display: inline-block;
    width: 15px; height: 15px;
    margin-left: auto;
    margin-right: -20px;
    background: url('data:image/svg+xml,<svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 1236.7 1235.9" fill="%23001b5b"><path d="M1031.8,175.9c97.4,90.6,164.8,216.2,185.3,348.2,38.3,247.2-78.2,488.5-291.4,615.4-267.7,159.3-611.1,85.8-794.3-162.7C-51.1,729.4-19.4,387.6,203.6,177.4c233.5-220,593.5-219.7,828.1-1.5ZM583.1,90.5c-5.4.4-10.9,3.4-15.9,5.6-50.4,23.4-90.3,81.9-115,130-11.3,22.1-20.7,45.2-29.7,68.3l1.1,2h158l1.5-1.5V90.5ZM654.1,90.5v204.5l1.5,1.5h158l1.1-2c-14.7-37.7-31.2-74.8-53.2-108.9s-51.8-69.2-87.6-87.4c-2.8-1.4-18.4-9.1-19.9-7.6ZM194.6,296.5h151c1.3-1.2,2-2.8,2.7-4.3,6.5-13.8,11.3-32.8,17.3-47.7,18.3-44.8,41.3-87.9,70.5-126.6l-1.5-1.5c-95.4,34.5-180,97.4-241,178.1l1,2ZM891.6,296.5h151l1-2c-53-69.8-124.5-127.2-204.5-163.5-6.7-3-30.9-14.2-36.5-14.5s-2.1,0-1.5,1.5c1.6,4,11.1,15.1,14.2,19.8,28.4,43,49.6,88.2,67.4,136.6,1.4,3.9,5.9,21.3,8.8,22.2ZM327.1,367.5h-181c-21.8,42.7-39.3,87.8-49.7,134.8-4.4,20-8.7,44.4-10.3,64.7s-.6,9.6-.6,13.4,0,1.3,1.1,2h212.5c.7-7.4,1.5-15.1,2-22.5,3.1-48,6.3-95.4,15.2-142.8l10.8-49.7ZM583.1,367.5h-183c-8,33.2-15.2,66.7-19.9,100.6-5.3,37.8-8.2,76.2-9.1,114.4h210.5l1.5-1.5v-213.5ZM866.1,582.5c-1.5-37.9-3.9-75.9-9.1-113.4s-8.3-52.8-14.1-77.9c-1.8-7.7-3.7-16.9-7.3-23.7h-181.5v215h212ZM1091.1,367.5h-181c5.6,27.1,11.8,54.2,15.9,81.6,4,27,5.8,54.7,9.1,81.9l2,49,1.5,2.5h212.5c-.2-17.5-2.4-35.9-5.3-53.2-9.4-56.6-29-110.8-54.7-161.8ZM299.1,653.5H86.6c-1,.7-1.1.9-1.1,2,0,4.1.3,10.3.6,14.4,4.4,57.6,26.1,133,52.8,184.2s4.1,9.1,7.6,12.4h178c2-1.6.7-6.6.3-9.3-3-18.5-8.4-37.7-11.5-56.5-6.8-41.7-9.7-81.7-12.3-123.7-.5-7.8-1.2-15.7-2-23.5ZM371.1,653.5c1,38.3,3.9,76.5,9.1,114.4s6.7,39.2,10.6,58.4,4.7,27.8,9.8,40.2h181l1.5-1.5v-210l-1.5-1.5h-210.5ZM866.1,653.5h-212v213h182.5c2.6-6.7,4.6-14.5,6.3-21.7,6-25.7,9.5-51.9,14.1-77.9,4.5-37.7,8.1-75.4,9.1-113.4ZM938.6,653.5l-1.5,2.5c-2.2,69.8-10.3,139.1-26,207.1-.5,1.1.7,3.4,1.4,3.4h178c10.2-16.4,18.8-35.9,26-54,16.3-41.3,32.4-101.2,34.5-145.5.2-4,1-10.5-1.5-13.5h-211ZM346.1,937.5h-155l9.1,13.2c53,65.4,120.5,119,197.3,153.9,7.1,3.2,31,14.5,37.1,14.9,1.6,0,1.7.1,1.5-1.5-40.9-53.9-69-116.4-90-180.5ZM583.1,937.5h-161c0,1.4,0,2.8.3,4.2,2.4,9.4,10.2,26.1,14.4,35.6,25.1,57.9,69.2,131.7,127.2,160.8,5.9,3,12.7,6.6,19.2,7.3v-208ZM815.1,937.5h-161v208c16.4-3.9,32.6-14.2,45.9-24.6,48.7-38.1,85-104.6,107.6-161.4,1.2-2.9,8.5-21,7.5-22ZM1046.1,937.5h-154.5c-6.8,15.6-11.5,32.3-17.8,48.2-15.4,38.9-35.3,77.8-58.4,112.6-3.1,4.7-12.6,15.8-14.2,19.8s.3,1.6,1.5,1.5c5.5-.3,29.8-11.5,36.5-14.5,70.7-32.1,134.3-80.6,185-139l22-28.5Z"/></svg>') no-repeat center center;
    background-size: 100% auto;
}
.lang-en .glink::before {margin-right: -22px}
.lang-es .glink:after, .lang-en .glink:after {
    content: "Español (ES)";
    display: inline-block;
    font-size: var(--middle-font);
    color: var(--dark-color);
}
.lang-en .glink:after {content: "English (EN)"}
header .container {
    display: flex;
    width: 85%;
    margin: 0 auto;
    position: relative
}
header .navbar {margin-left: auto;}
.page-template-default:not(.home) header .container, .practice_area-template-default header .container {
    align-items: center;
}
header.small .container {align-items: center}
header.small {
    padding: max(1vw, 10px) 0;
    transition: 0.4s;
    background-color: #fff;
    box-shadow: 0 2px 5px 0 rgba(0,0,0,0.2);
}
.custom-logo-link img {object-fit: contain;width: auto}
header.small .custom-logo-link {
    height: max(4.5vw, 45px);
    transition: 0.4s
}
.home .custom-logo-link {
    height: max(12vw, 120px);
    margin-top: min(-1vw, -10px);
    transition: 0.4s
}
.custom-logo-link {height: max(7vw, 70px)}
.navbar-toggle {display: none}
.navbar-nav {
    display: flex;
    align-items: center;
    gap: max(3vw, 20px)
}
.menu-item-has-children {
    position: relative;
    display: flex;
    align-items: center;
    gap: 10px;
}
.menu-item-has-children > a {
    display: flex;
    align-items: center;
    gap: 10px
}
.menu-item-has-children::after {
    content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" viewBox="0 0 25 25"><path d="M8.59 15.722 12.9 11.4 8.59 7.078 9.918 5.75l5.65 5.65-5.65 5.65z" transform="rotate(90 11.762 12.183)" style="fill:%23001b5b"/><g data-name="Ellipse 1" transform="rotate(90 12.5 12.5)" style="stroke:%23001b5b;stroke-width:2px;fill:none"><circle cx="12.5" cy="12.5" r="12.5" style="stroke:none"/><circle cx="12.5" cy="12.5" r="11.5" style="fill:none"/></g></svg>');
    height: 25px;
    position: relative;
    z-index: 3;
    transition: 0.4s
}
.sub-menu {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    opacity: 0;
    position: absolute;
    background-color: #fff;
    box-shadow: 0 0 7px 0 rgba(0, 0, 0, 0.2);
    padding: max(1vw, 10px) max(2vw, 20px);
    top: 100%;
    height:0; min-width: calc(4vw + 18em);
    overflow: hidden;
    z-index: 15;
    transition: opacity 0.4s;
}
.menu-item {position: relative;}
.menu-item a {
    font-size: var(--middle-font);
    font-weight: 700;
    padding: max(0.5vw, 5px) 0;
    color: var(--font-color);
    position: relative;
    text-decoration: none;
    transition: 0.4s
}
.menu-item a font {text-transform: capitalize}
.sub-menu a {padding: max(0.5vw, 5px) 0;margin: max(0.5vw, 5px) 0}
.menu-item:not(.menu-item-has-children)::before, .menu-item-has-children > a::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: var(--light-color);
    opacity: 1;
    transition: opacity 300ms, transform 300ms;
    transform: scale(0);
    transform-origin: center;
    transition: 0.4s
}
.menu-item-has-children > a::before{width: 125%}
.menu-item-39, .menu-item-43 {
    padding: 0; 
    background-color: var(--light-color);
    border: 2px solid var(--light-color);
    border-radius: 25px;
    transition: 0.4s
}
.menu-item-39 a, .menu-item-43 a {
    color: #fff;
    padding: max(0.6vw, 5px) max(1.6vw, 15px); 
    text-transform: uppercase;
    transition: 0.4s
}
.menu-item-39.current-menu-item, .menu-item-43.current-menu-item {
    background-color: #fff;
}
.menu-item-39.current-menu-item > a, .menu-item-43.current-menu-item > a {
    border-bottom: none;
    color: var(--light-color);
}
.menu-item:not(.menu-item-has-children):hover::before, .menu-item.current-menu-item::before, .menu-item.menu-item-has-children.current-menu-item a::before, .menu-item.menu-item-has-children.current-menu-parent a::before {
    transform: scale(1);
    transition: 0.4s
}
.menu-item-39::before, .menu-item-43::before {display: none !important;}
.menu-item-39:hover, .menu-item-43:hover {background-color: #fff;color: var(--light-color);transition:0.4s}
.menu-item-39:hover a, .menu-item-43:hover a {color: var(--light-color) !important;transition:0.4s}
@media (max-width: 1024px) {
    header {padding-top: 25px}
    header .navbar {width: 35px}
    .page-template-default:not(.home) header .custom-logo-link, .page-template-default:not(.home) .small .change-lang,
    .practice_area-template-default header .custom-logo-link, .practice_area-template-default .small .change-lang {margin-top: 0}
    .page-template-default:not(.home) .change-lang, .practice_area-template-default .change-lang {margin-top: 15px}
    .change-lang {
        display: flex;
        position: absolute;
        top: 0; right: calc(7.5vw + 60px);
        padding-top: 25px;
        margin: 5px 0 0;
        height: 100%;width: 200px;
        z-index: 2;
    }
    .small .change-lang {
        align-items: center;
        margin: 0; padding: 0
    }
    .change-lang span {width: 100%}
    .home .custom-logo-link {margin-top: 0}
    .navbar-toggle {
        display: block;
        width: 35px;height: 33px;
        position: relative;
        order: 1;
        border: none;
        background-color: transparent;
        background-image: linear-gradient(to bottom, transparent 0%, transparent 45%, var(--dark-color) 45%, var(--dark-color) 56%, transparent 56%, transparent 100%);
        z-index: 55;
    }
    .navbar-toggle::before {
        content: '';
        width: 100%;height: 3px;
        position: absolute;
        top: 3px;left: 0;
        transform: rotate(0);
        background: var(--dark-color);
        transition: 0.3s;
    }
    .navbar-toggle::after {
        content: '';
        width: 100%;height: 3px;
        position: absolute;
        bottom: 3px;left: 0;
        background: var(--dark-color);
        transition: 0.3s;
    }
    .navbar-toggle.active {
        background: transparent;
        position: absolute;
        top: 0; right: 0;
    }
    .navbar-toggle.active::before {
        transform: rotate(45deg);
        top: 15px;
        transition: 0.3s;
    }
    .navbar-toggle.active::after {
        transform: rotate(-45deg);
        bottom: 15px;
        transition: 0.3s;
    }
    .navbar_wrap {
        position: fixed;
        top:0;left:0;
        height: 0; width: 100%;
        background-color: #fff;
        overflow: hidden;
        z-index: 9;
        transition: 0.5s;
    }
    .navbar_wrap.active {
        height: 100dvh;
        transition: 0.5s;
    }
    .navbar-nav {
        flex-direction: column;
        margin-top: 10dvh;
    }
    .navbar-nav .menu-item-has-children.active::after {
        transform: rotate(180deg);
        transition: 0.3s
    }
    .navbar-nav .sub-menu {
        box-shadow:none;
        position: static;
        width: auto;height: 0;
        overflow: hidden;
        padding:0;
        width: 90%;
        margin: 0 auto;
        order: 3;
        opacity: 1;
        transition:0.3s
    }
    .navbar-nav .menu-item-has-children {flex-wrap: wrap;justify-content: center}
    .navbar-nav .menu-item-has-children.active .sub-menu {
        display: flex;
        flex-direction: column;
        align-items: center;
        height: auto;
        width: 100%;
        margin: 15px 0;
        overflow: visible;
    }
}
@media (min-width: 1025px) {
    .menu-item-has-children:hover::after {
        transform: rotate(180deg);
        transition: 0.4s
    }
    .menu-item-has-children:hover .sub-menu {
        opacity: 1;
        height: auto;
        transition: opacity 0.4s;
    }
}
@media (max-width: 900px) {
    header .container {width: 90%}
}

/*----------- HOMEPAGE -----------*/
.wp-block-cover__inner-container {z-index: 2}
.main-banner .wp-block-cover__inner-container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    width: 60vw;
    margin: 0 auto;
    position: relative;
    height: 100dvh
}
.main-banner h1 {
    font-size: var(--small-title-font);
    color: var(--light-color);
    width: 65%;
    text-transform: uppercase
}
.main-banner h2 {
    font-size: var(--middle-title-font);
    color: var(--dark-color);
    font-weight: 700
}
.main-banner p {font-size: var(--big-font)}
.main-banner .button-link {margin-top: var(--small-margin)}
.main-banner .home_banner-add {
    margin-top: max(1vw, 10px);
    padding-left: max(1vw, 10px);
    font-size: var(--middle-font)
}
.main-banner .home_banner-add a {
    text-decoration: none;
    font-weight: 700;
    color: var(--light-color)
}
.main-banner .home_banner-add a:hover {text-decoration: underline}
.main_mission {
    width: 94%;
    aspect-ratio: 1 / 0.5;
    overflow: hidden;
    align-items: flex-end;
    margin: var(--block-margin) 6% 0
}
.main_mission-image {width: 75%}
.wp-block-column.main_mission-text {
    width: 45%;
    margin-left: -20%;
    position: relative;
    background: #fff;
    padding: var(--block-margin)
}
.main_mission-text h2{font-size: var(--big-font)}
.main_mission-text h2 strong {
    font-size: var(--middle-title-font);
    color: var(--dark-color);
    margin-top: var(--small-margin);
}
.main_about {
    align-items: flex-start;
    position: relative;
    gap: 0
}
.main_about-text {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 71%;
    background-color: var(--back-color);
    padding: max(6vw, 60px) 15% max(15vw, 150px)
}
.main_about-image.wp-block-column {
    width: 29%; height: 90%;
    top: -13vw; right: 0;
    position: absolute;
    overflow: hidden
}
.main_about-image figure {height: 100%}
.main_about-item, .main_about-item * {
    position: relative;
    font-size: var(--middle-font);
}
.main_about-item:not(:last-of-type), .practice-single ul:not(:last-child) {padding-bottom: var(--small-margin)}
.main_about-text h3 {
    font-size: var(--small-title-font);
    color: var(--light-color);
    text-transform: uppercase
}
.main_about-text h2 {
    font-size: var(--main-title-font);
    color: var(--dark-color);
    margin-bottom: max(3vw, 30px);
    font-weight: 700
}
.main_about-item strong {font-weight: 500}
.main_about-item.fadein-right::before {
    content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="35.893" height="20.51" viewBox="0 0 35.893 20.51"><path d="M8 17.255h7.691v25.638h5.128V17.255h7.691L18.255 7z" transform="rotate(90 25.447 17.447)" style="fill:%23001b5b"/></svg>');
    display: inline-block;
    position: absolute;
    top:3px; left: -150px;
    opacity: 0
}
.main_about-item.fadein-right.animate::before {
    left: -60px;
    opacity: 1;
    transition: 1s ease-out
}
.main_about-text .button-link {margin-top: max(4vw, 40px)}
.main_practice {gap: 2vw;margin-top: -7vw}
.main_practice.home {margin-top: 0}
.main_practice-title.wp-block-column {width: 25%;}
.main_practice-slider {width: calc(75% - 2vw)}
.practice_slider-item  {
    display: flex;
    flex-direction: column;
    width: 28vw;
    text-decoration: none;
    height: auto;
    color: var(--font-color);
    padding: max(3vw, 30px);
    background-color: #fff;
    border: 1px solid #aaaaaa
}
.practice_slider-item .wp-block-group__inner-container {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    height: 100%;
}
.main_practice-title h2 {
    font-size: var(--big-font);
    max-width: 210px;
    padding-left: 5vw
}
.main_practice-title h2 strong {
    font-size: clamp(40px, 3vw, 50px);
    color: var(--light-color);
    text-transform: uppercase;
    font-weight: 300;
    margin-top: var(--small-margin)
}
.practice_item-subtitle {
    font-size: var(--big-font);
    padding-bottom: var(--small-margin)
}
.practice_slider-item h3 {
    font-size: var(--middle-title-font);
    color: var(--dark-color);
    font-weight: 700;
    /* height: clamp(60px, 5vw, 90px); */
    margin-bottom: var(--block-margin)
}
.practice_slider-item .not-button-link {
    margin-top: auto;
    margin-left: auto
}
.practice_item-description {margin-bottom: max(3vw, 30px)}
.practice_slider-wrap {overflow: hidden}
.practice_slider-wrap ~ .button-link {
    margin-top: max(0.5vw, 5px)
}
.practice-button-wrapper {
    display: flex;
    justify-content: flex-end;
    gap: 5px
}
.practice-button-prev, .practice-button-next {
    width: max(3vw, 40px);
    height: max(3vw, 40px);
    background: var(--light-color) url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="14.072" height="22.789" viewBox="0 0 14.072 22.789"><path d="m8.59 25.861 8.7-8.717-8.7-8.716 2.678-2.678 11.394 11.394-11.394 11.395z" transform="rotate(180 11.331 14.27)" style="fill:%23fff"/></svg>') no-repeat center center;
    background-size: 25% auto;
    cursor: pointer;
    transition: 0.4s
}
.practice-button-prev:hover, .practice-button-next:hover {
    background-color: var(--dark-color);
    transition: 0.4s
}
.practice-button-next {transform: rotate(180deg)}
.swiper-button-disabled {
    opacity: 0.5;
    cursor: not-allowed;
}
.contact-block {
    margin-top: var(--block-margin);
    gap: 0;
    align-items: unset
}
.main_contact-image {
    width: 30%
}
.main_contact-form {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 70%;
    padding: var(--block-margin) 15%;
    background-color: var(--back-color);
}
.main_contact-form h2 {
    font-size: var(--small-title-font);
    color: var(--light-color);
    text-transform: uppercase;
    margin-bottom: max(3vw, 30px);
}
.main_contact-form h2 strong {
    font-size: var(--main-title-font);
    color: var(--dark-color);
    margin-top: var(--small-margin);
    text-transform: capitalize;
}
.main_contact-form form {
    padding-top: max(3vw, 30px)
}
.main_contact-form form > p {
    display: flex;
    flex-wrap: wrap;
    gap: max(1vw, 15px) 4%
}
.main_contact-form label:not(.button-link) {
    font-size: clamp(15px, 1.18vw, 18px);
    color: var(--dark-color)
}
.main_contact-form .label-small {width: 48%}
.main_contact-form .label {width: 100%}
label span {
    display:inline-block;
    margin-top: max(0.6vw, 6px);
    width: 100%
}
.nice-select .current {margin-top: 0}
.main_contact-form input, .main_contact-form textarea, .nice-select, .nice-select:hover {
    border: 1px solid #aaaaaa;
    font-size: clamp(13px, 1.06vw, 16px);
    line-height: 1.5;
    border-radius: 0;
    padding: max(1vw, 10px) max(1.5vw, 15px);
    width: 100%; height: auto;
    outline: none
}
.main_contact-form input:focus, .main_contact-form textarea:focus, .nice-select.open {box-shadow: 0 0 4px 0 rgba(0,0,0,0.2);}
label.button-link {
    text-align: center;
    margin-left: auto;
    margin-top: var(--small-margin)
}
label.button-link input {display: none}
label.button-link span {
    width: auto;
    margin-top: 0
}

/*---------- ABOUT PAGE ----------*/
.main-banner.about {
    width: 71%;
    padding: var(--block-margin);
    background-color: #fff
}
.main_mission.about {
    max-width: 70%;
    width: auto;
    justify-content: flex-end;
    align-items: flex-start;
    position: relative;
    overflow: visible;
    margin: -9vw 5% 0;
    aspect-ratio: auto
}
.about .main_mission-image {
    width: 67%;
    height: auto;
    position: absolute;
    top: 0;left: 0
}
.about .main_mission-text {
    width: auto;
    max-width: 55%;
    margin-right: -5%;
    margin-top: 9vw;
    height: auto;
}
.about + .main_practice {
    margin-top: 0;
    margin-bottom: var(--block-margin)
}
.practice_slider-wrap {position: relative;}
.practice_slider-wrap:not(.practice)::after {
    content: '';
    display: block;
    width: max(3vw, 30px);
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
    background: linear-gradient(to right, transparent, rgba(226, 226, 226, 0.65));
    z-index: 10;
}
@media (min-width: 1700px) {
    .about .main_mission-text {max-width: 50%}
}
@media (max-width: 1025px) {
    .main-banner h1 {width:75%}
    .main-banner .wp-block-cover__inner-container {height:70dvh}
    .main_mission {aspect-ratio: auto}
    .mission_image--right {width: 35vw}
}
@media (max-width: 1500px) {
    .about .main_mission-text {max-width: 62%;margin-right: -8%;}
}
@media (max-width: 1100px) {
    .about .main_mission-text {max-width: 75%;margin-right: -15%}
}
@media (max-width: 900px) {
    .main-banner.about {width: 80%}
    .main_mission.about {
        width: 90%;
        margin: var(--block-margin) 5% 0; 
        position: relative;
        z-index: 3
    }
    .main_mission {
        position: relative; z-index: 3
    }
    .main_mission.about {
        align-items: flex-end;
        max-width: unset;
        margin-bottom: var(--block-margin)
    }
    .about .main_mission-text {
        max-width: 50%;
        margin-right: 0; margin-top: 0;
    }
    .about .main_mission-image {position: relative}
    .main_about-text {
        width: 80%;
        padding-inline: 10%;
        padding-bottom: max(6vw, 60px)
    }
    .mission_image--right {
        width: 40vw;
        margin-left: -20vw;
    }
    .wp-block-column.main_mission-text {
        width: 55%;
        margin-left: -25%
    }
    .main_practice.home {margin-top: 35px}
    .main_practice-title.wp-block-column {margin-top: 0;width: auto}
    .main_practice-title h2 {padding-left:0}
    .main_practice-title h2 strong font + br {display: none;}
    .main_about-image.wp-block-column {width: 20%}
    .main_practice {flex-direction: column; margin-top: 30px}
    .main_practice-slider {width: 100%}
    .practice_slider-item {width: 40vw}
    .practice_slider-wrap ~ .button-link {margin-left: 5%}
    .main_contact-image {width:25%}
    .main_contact-form {
        width: 75%;
        padding-inline: 11%
    }
}
@media (max-width: 600px) {
    .main-banner .wp-block-cover__inner-container {
        height: auto;
        padding: 180px 0 60px;
        width: 80vw;
    }
    .main-banner .button-link, .main_about-text .button-link {
        margin-inline: auto;
    }
    .main-banner.about {width:100%}
    .main_mission.wp-block-columns {
        width: 100%;
        flex-wrap: wrap;
        gap:0;
        margin: 0
    }
    .main_mission.about {margin-bottom: 50px}
    .main_mission .wp-block-column {
        width: 100%;
        max-width: unset;
        margin: 0
    }
    .about .main_mission-image {
        height: 60vw;
        order: 1
    }
    .main_mission-image {height: 50vw}
    .main_about-text {width: 100%;padding-inline: 5%;}
    .main_about-image {display: none}
    .main_about-item, .practice-single ul {padding-left: 10%;}
    .main_about-item.fadein-right::before {
        transform: scale(0.8);
        top: 0;left: -80px
    }
    .mission_image--right {
        height: 35vw; width: 100%;
        margin-left: 0
    }
    .main-banner .home_banner-add {
        padding-left: 0;
        margin-left: calc(50% - 140px)
    }
    .main_about-item.fadein-right.animate::before {left: -5px}
    .practice_slider-item {width: 70vw}
    .practice_slider-wrap ~ .button-link {margin-top: 20px;margin-inline: auto;max-width: 92%}
}
@media (max-width: 500px) {
    .contact-block.wp-block-columns {flex-wrap: wrap}
    .contact-block .wp-block-column {width: 100%}
    .main_contact-image {height: 110vw}
    .main_practice-slider {
        display: flex;
        flex-direction: column;
    }
    /* .practice_slider-wrap ~ .button-link {max-width: 95%;margin-inline: 2.5%;padding-right: 0} */
    .button-link.light strong:has(font) {max-width: 95%}
}

/*------- PRACTICE PAGE -------*/
.practice-areas {position: relative; padding:var(--block-margin) 0}
.practice_slider-wrap.practice {
    display: grid;
    grid-template: auto / repeat(3, 1fr);
    width: 80%;
    margin: 0 auto;
    z-index: 3
}
.practice-areas > h1 {
    width: 70%;
    margin: 0 auto var(--block-margin);
    font-size: var(--big-font);
}
.practice-areas h1 strong {
    font-weight: 300;
    text-transform: uppercase;
    color: var(--light-color);
    font-size: clamp(40px, 3vw, 50px);
    line-height: 1.4;
}
.practice .practice_slider-item {width: auto}
.main-banner.practice {
    margin: var(--block-margin) 0 0;
    position: relative;
    z-index: 3;
}
.practice-image {
    position: absolute;
    right:0;bottom:0;
    height: auto;
}
.practice-single {font-size: var(--middle-font)}
.main_about.practice {display: flex}
.practice-single ul {margin-left: max(1vw, 10px)}
.practice-single li, .container.terms-conditions li, .container.privacy-policy li {list-style: disc; display: list-item}
@media (max-width: 1025px) {
    .practice_slider-wrap.practice {grid-template: auto / repeat(2, 1fr)}
    .practice-image {width: 40%}
}
@media (max-width: 650px) {
    .practice-areas {
        display: flex;
        flex-direction: column
    }
    .practice .main_about-text h2 {padding-left: 10%}
    .practice_slider-wrap.practice {grid-template: auto / 1fr;gap: 20px}
    .practice-image {
        position: static;
        height: 110vw
    }
    .practice-image {width: 100%; margin-top: 50px}
    .main-banner.practice {order: 3}
}
/*---------- CONTACT PAGE ----------*/
.contact-block.contact {margin-top: 0}
.contact-info {
    display: flex;
    flex-direction: column;
    width: 30%;
    background-color: var(--back-color)
}
.contact .main_contact-form {background-color: #fff}
.contact-image {height: auto; flex-grow: 1;}
.contact-info h2 {
    font-size: var(--small-title-font);
    color: var(--dark-color);
    text-transform: uppercase
}
.contact-item {
    display: grid;
    grid-template: auto / 40px 1fr;
    gap: 10px;
    margin-bottom: var(--small-margin)
}
.contact-item, .contact-item a, .contact-item span {
    font-size: var(--middle-font);
    color: var(--font-color);
    line-height: 1.3;
    text-decoration: none
}
p.contact-item {
    display: flex;
    padding-left: 50px
}
.contact_info-wrap {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: var(--block-margin)
}
.contact_info-wrap .wp-block-group__inner-container {
    display: inline-block;
    margin: 0 auto
}
@media (max-width: 1050px) {
    .contact-block.contact {flex-direction: column}
    .contact-info {
        width: 100%;
        display: flex;
        flex-direction: row;
    }
    .contact .main_contact-form {width: 100%}
}
@media (max-width: 900px) {
    .contact .main_contact-form {padding-inline: 15%}
}
@media (max-width: 550px) {
    .contact-info {flex-direction: column}
    .main_contact-form .label-small {width: 100%}
    .contact-image {order: 1}
}
/*-------- FREE CONSULTATION --------*/
label.select select {display: none}
.free-consultation .contact-info {background-color: #fff}
.free-consultation .main_contact-form {background-color: var(--back-color)}
.nice-select .nice-select-dropdown {
    margin-top: 1px;
    width: 100%;
    border-radius: 0;
}
.nice-select .list {
    display: flex;
    flex-direction: column;
}
.nice-select:after {
    border-color: var(--dark-color);
    right: 17px;
    width:7px;height:7px
}
.nice-select * {color: var(--font-color)}
@media (max-width: 550px) {
    .free-consultation .main_contact-form {order:-1}
}
/*------- PRACTICE PAGES -------*/
.practice-areas_title {
    width: 71%;
    padding: var(--block-margin) 15%;
    margin-bottom: 0
}
.practice-areas_title strong {
    display: inline-block;
    font-size: clamp(40px, 3vw, 50px);
    font-weight: 300;
    text-transform: uppercase;
    color: var(--light-color);
    padding-top: var(--small-margin);
    line-height: 1.1
}
.practice .main_about-image.wp-block-column {top: -9vw;}
.practice .main_about-text h2 {
    font-size: var(--small-title-font);
    color: var(--light-color);
    text-transform: uppercase;
    font-weight: 300;
}
.practice .main_about-text h2 strong {
    color: var(--dark-color);
    text-transform: capitalize;
    font-size: var(--main-title-font)
}
.practice_image-wrap {margin: var(--small-margin) 0}
.practice_image-desc {
    font-style:italic;
    padding-top: 5px;
    line-height: 1.3;
    font-size: 1.1rem;
}
.practice + .main_practice {
    display: flex; 
    align-items: center;
    margin-bottom: var(--block-margin)
}
@media (max-width: 650px) {
    .main_about.practice {flex-direction: column}
    .practice .main_about-image.wp-block-column {
        display: block;
        position: relative;
        top: 0;
        width: 100%; height: 110vw
    }
}
/* TEXT PAGES */
.container.terms-conditions, .container.privacy-policy {
    width: 80%;
    margin: var(--block-margin) auto;
}
.container.terms-conditions *, .container.privacy-policy * {font-size: var(--middle-font)}
.container.terms-conditions strong, .container.privacy-policy strong {font-weight: 500}
.terms-conditions p, .privacy-policy p, .privacy-policy ul {margin-bottom: var(--small-margin)}
.terms-conditions ul, .privacy-policy ul {padding-left: 15px}
.container.terms-conditions a, .container.privacy-policy a {color: var(--dark-color);font-weight:500}
.container.terms-conditions a:hover, .container.privacy-policy a:hover {text-decoration: none}
.container.terms-conditions h1, .container.privacy-policy h1 {
    font-size: var(--middle-title-font);
    color: var(--dark-color);
    font-weight: 700;
}
.text-contact-img {
    display: flex;
    align-items: center;
    gap: 5px;
}
.text-contact-img img {width: 20px}

@media (max-width: 650px) {
    .container.terms-conditions, .container.privacy-policy {width: 90%}
}

/*----------- FOOTER -----------*/
.tm-carousel-wrapper + div {display: none !important}
footer {
    background-color: var(--dark-color);
}
footer *, footer .menu-item a {color: #fff}
footer .container {
    display: grid;
    grid-template: auto / 140px 1fr;
    width: 85%;
    margin: 0 auto;
    gap: max(2vw, 20px);
    padding: var(--small-margin) 0
}
.copyright {
    background-color: #121212;
    text-align: center;
    padding: max(1vw, 10px);
}
.copyright span {
    display: inline-block;
    max-width: 90%;
    margin: 0 auto
}
.copyright span * {display: inline}
.footer_nav-wrapper {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: max(2vw, 20px)
}
.bottom-menu {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: max(2vw, 20px)
}
.foter_social {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: max(2vw, 20px)
}
.foter_social-item {
    display: flex;
    align-items: center;
}
.foter_social-item a, .foter_social-item span {
    display: inline-block;
    margin-left: 10px;
    text-decoration: none;
    font-size: var(--middle-font)
}
.foter_social-item a:hover {text-decoration: underline}

.scroll-top {
    display: none;
    align-items: center;
    justify-content: flex-end;
    position: fixed;
    width: max(3vw, 50px);
    aspect-ratio: 1 / 1;
    bottom: 5dvh;
    right: 3dvw;
    border: 2px solid var(--dark-color);
    background-color: #fff;
    border-radius: 50%;
    transform: rotate(-90deg);
    cursor: pointer;
    z-index: 70
}
.scroll-top.show {display: flex}
@media (max-width: 900px) {
    footer .container {width: 90%}
    .bottom-menu {flex-wrap: wrap}
}
@media (max-width: 500px) {
    footer .container {
        display: flex;
        flex-direction: column
    }
    .home .custom-logo-link {text-align: center;margin-top: 0;height: 20vw}
}
